ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:493.55KB ,
资源ID:13904855      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13904855.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第十三课人生苦短我用Python语法简单才会越来越被编程界欢迎.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

第十三课人生苦短我用Python语法简单才会越来越被编程界欢迎.docx

1、第十三课人生苦短我用Python语法简单才会越来越被编程界欢迎第十三课人生苦短我用Python语法简单才会越来越被编程界欢迎初始函数1.1 函数的作用;1.2函数的组成1.3定义和调用函数函数的进阶使用2.1函数类型2.2返回多个值多函数协作3.1变量作用域3.2函数嵌/e这两节课的主要内容是带大家探究“熟悉的陌生人”函数。之所以这么说,是因为我们之前已经接触过Python函数,但是对它没有系统地了解过。这节课,我们一起经营KFC,在我们KFC门店里通过运用函数解决我们的问题。首先在学习具体知识前,我向大家简要的介绍下函数的作用,知道函数是做什么用的?1 函数的作用人生苦短,我用Python”

2、,正因为Python语法简单,才会越来越被编程界欢迎。换言之,我们编程,更应该避免重复性代码。前面学习的循环是减少代码重复的一种手段,那么接下来要学习的函数也是减少重复性代码的另一种手段。它的定义是:什么意思呢?我们之前写的代码只能执行一次,但是函数中的代码可以使用多次。通俗来讲,函数就如同一个包裹,每个包裹都有一个功能,无论你在哪儿,只要你需要包裹,就把它拿过去用;你需要什么样功能的包裹,就用什么样的包裹;你需要使用多少次包裹,就使用多少次。这就是函数,在之后的旅程中,你会越来越体会到函数的妙用。讲了这么多了,先看一下函数长什么样子?1.2函数的组成先不着急看Python的函数,先来个数学函

3、数,那些年,我们错过的函数。数学函数y = 6*x +9 , x是自变量,6*x+9是执行过程,y是因变量,自变量x决定了因变量y得值。那么,你可以将y = 6*x +9看作成3部分在Python中,我们遇到很多函数, 有负责输入数据的函数,有负责数据处理的函数,有负责数据输出的函数。以上就是我们见过的Python的函数,这些函数是Python自带的函数,我们不需要管这些函数怎么来的,就负责用就好了,这些函数也叫内置函数。你会发现,上面这些函数,都有括号(), 里面存放我们需要传给函数的数据,在Python江湖中,这种数据称为【函数的参数】。【参数】指的是函数要接受、处理的数据,其实就是一个变

4、量。好了,我们看过了函数的样子。但是问题来了,这些函数很好,如果用不到他们怎么办。就像我们KFC餐厅里,顾客不想吃汉堡怎么办?我们可以给他们做卤肉饭啊,同样,我们也可以根据自己的需要,定义自己想要的函数。大家进入本节课重点:定义和调用函数。编写函数第一步,我们先来看一下如何定义一个函数,它的基本语法是什么。+3定义和调用函数函数三部分,第一部分输入,在y = 6*x+9函数中,因为x变,y才改变,x就是输入到函数的数据,就是这个函数的参数;第二部分,执行过程,执行过程就是计算y的结果,即6*x+9的结果;还有第三部分,输出结果,计算完这个结果后要把这个结果告诉别人。因此,这个函数可以写成下面这

5、个样子。拆分解读:第一行:def的全称是define, 译为定义;fun是函数名字,自己起的;(x)这里是函数的参数,参数名字也是自己起;不要忘了最后的冒号:江湖秘籍:涉及到的符号都是英文的哦。第二行:def下一行缩进的内容叫做函数体,这是函数要实现的功能。即根据x的值,计算6*x+9,将结果赋值给y。第三行:return 语句是返回的意思,可以指定函数执行完毕后最终会得到什么样的结果,否则计算机是无法判断出函数最终要输出什么结果的。定义函数是不是很简单?但是里面还有很多注意事项,不要踩坑。#函数名:1.名字能体现函数的功能,一般用小写英文字母和数字、英文下划线组合使用现在,你根据上面的例子,

6、完成函数y=30+11*x,请在下面代码框中编写,点击运行。你会发现,终端内没有任何内容。没有内容就对了,现在只是定义了函数,还没有使用函数。定义函数,就是将函数内部功能封装好,然后等待调用。就如同包裹一样,你现在只是装好了包裹,但是还没有使用。怎么使用函数呢?在Python江湖中,我们使用函数叫做“调用函数”,很简单就是输入函数名与参数所对应的数据。运行一下下面代码,观察终端里的效果。解读分析:math(10)就是调用函数,math为定义函数的名字(定义与调用时名字一致);传递参数,10对应函数参数x, 在调用函数时,将10传递给x; 在函数体中,y = 30 +11*10, 得出y的结果为

7、140; 那么,res就用来接收y的值,即res=140。所以,打印出来的结果就是140。OK,现在掌握调用函数了吧。现在你看到就是函数最基本的形式,目的就是让大家先有个认知。接下来,我们做个练习巩固一下。请听题:定义一个函数,用户传入“XXX”,就打印出“您好,欢迎来到KFC餐厅,您的点餐为XXX”。这个XXX, 可以传入汉堡、薯条,任何内容。提示:使用input,接收用户输入内容,然后调用函数,完成功能。来,试一下:上面我们调用函数,设置、传递参数是编写函数的重点。在Python江湖中,函数中无论设置、传递多少个参数都可以,哪怕不设置、传递参数也行。先来了解一下函数类型。们KFC餐厅,需要

8、做一个欢迎广告语,每位顾客来的时候都要进行播放。那看一下,如何在Python中使用函数实现这个广告语。运行一下下面代码, 观察终端里的效果。def helloKFC():print(虽然我们生而不同)print(但馋起来是一样的)print(每个鸡翅都值得被啃个干净)print(我们已经很饿了,你们呢?)print(十翅一桶39元)print(重磅回归,就在今天)helloKFC()观察上面的代码,这里定义了一个helloKFC()函数,但是括号里没有参数。这是因为,我们的广告也不需要接收用户内容,只需要原样打印广告即可,所以不需要传递参数。1江湖秘籍:即使没有参数,在定义函数、调用函数的时候

9、也不能省略括号。2在这个例子中,也不需要return语句,因为里面的内容直接打印在屏幕上即可, 不要返回值的。3简言之,函数的执行过程,可以有返回值,也可以没有返回值。好了,接下来,我们看看函数可以设置多少个参数。我们KFC餐厅在刚开业的时候,因为其他原因,只能为每位顾客提供汉堡、饮料、小食三种食品。如果写成函数,这个函数就有3个参数。我使用hamburger、drink、snacks作为汉堡、饮料、小食的参数运行一下下面代码, 观察终端里的效果。编程题在这里,我们设置了默认参数snacks=蛋挞,在调用函数的时候,蛋挞也会默认添加到菜单中。当然了,如果有的顾客不想吃蛋挞,他就想吃薯条怎么办。

10、那就按顾客的来,顾客是上帝嘛。运行一下下面代码,观察终端里的效果。在调用函数时,参数一一传递;在第三次调用函数menu(培根烤鸡腿堡,橙汁,薯条)时,薯条会替换默认的参数蛋挞,将snacks设置为薯条。了解完默认参数, 我们接着往下看。后来,我们的餐厅经营越来越大,食品种类越来越多,但是每个人点餐的种类又不确定,我们又不能限制顾客点餐。这时候就需要使用【不定长参数】。它的格式比较特殊,先运行一下下面代码,观察终端里的效果。def menu(*food):return foodorder1 = menu(香辣鸡腿堡,可乐)order2 = menu(卤肉饭,老北京鸡肉卷,雪碧,可乐)order3

11、 = menu(烤串,火锅,培根烤鸡腿堡,橙汁,薯条,甜筒)print(order1)print(order2)print(order3)print(type(order1)print(type(order2)print(type(order3)在调用函数时,参数一一传递;在第三次调用函数menu(培根烤鸡腿堡,橙汁,薯条)时,薯条会替换默认的参数蛋挞,将snacks设置为薯条。了解完默认参数, 我们接着往下看。后来,我们的餐厅经营越来越大,食品种类越来越多,但是每个人点餐的种类又不确定,我们又不能限制顾客点餐。这时候就需要使用【不定长参数】它的格式比较特殊,先运行一下下面代码,观察终端里的效

12、果。代码解读:这里使用一个星号*加上参数名就接收到了所有参数,无论参数写几个,都能接收到。而返回值就是参数名。我们将返回的内容打印出来,又打印了一下返回值的类型:Tuple叫做元组,元组的写法是将所有内容放在小括号中,使用逗号隔开,和列表用法类似。但是又与列表不同,列表中的元素可以更改,而元组中的元素不可以更改。和列表相同的是:元组也是可以遍历的对象。使用for循环遍历一下。运行一下下面代码,观察终端里的效果编程题1foriinfood:print(点餐内容:+i)menu(香辣鸡腿堡,可乐)menu(卤肉饭,老北京鸡肉卷,雪碧,可乐)enu(烤串,火锅,培根烤鸡腿堡,橙汁,薯条,甜筒)使用f

13、or循环,将元组中的内容遍历出来。一一显示。我们研究一下常用的print()函数,翻看了一下Python宝典,其中是这样介绍print()函数的。代码片段print(*objects, sep= , end=n, file=sys.stdout, flush=False)我们可以看到,print()函数中第一个参数objects带了*号,是不定长参数这也就是print()函数可以传递任意数量的参数。现在,你掌握了函数参数的不同形态,以后视具体需要,来设置函数参数。函数,不仅可以支持多个参数,还可以支持多个返回值。接下来我们就讲讲如何使用return语句返回多个返回值。回到我们的KFC餐厅,我们

14、要优惠活动,到店顾客,只要买单我们就有美食相送。 具体规则:用户消费满69元,我们随机赠送10元食品一份;用户消费满99元,我们随机赠送10元食品一份外加一个冰激淋。代码已经写好了,先运行一下下面代码,观察终端里的效果。编程题main.pyimportrandomfoodten= 蛋挞,鸡翅,薯条deforder(money):ifmoney99:a=random.choice(foodten)returna,冰激淋elif69money99:a=random.choice(foodten)在这里,有3条return语句,每条语句返回的内容都不一样,返回的数量也不一样。这就是返回多个值retu

15、rna,冰激淋returnbreturn不好意思,您的消费达不到优惠活动在开始时候,我们说过,函数封装了独立功能,一个程序往往由多个函数来配合实现当多函数协作运行时,就涉及到函数中一个非常重要的内容变量作用域。什么是变量作用域?说白了,就是地盘问题;比如说,KFC是由哈兰山德士老爷爷创立的,所有KFC餐厅都会听他的,他说下个月所有KFC要供应烤串,这肯定没问题;但是他如果去要求麦当劳餐厅,估计就没人理他了;但是如果特朗普说,所有的KFC与麦当劳餐厅都要卖“兰州拉面“,KFC与麦当劳肯定得卖,谁让他是美国总统呢。我们把这个问题用代码写出来先运行一下下面代码,观察终端里的效果。(报错后点击【跳过本

16、题】)编程题main.pytrump=所有餐厅都要卖【兰州拉面】defKFC():harland=所有KFC餐厅卖烤串print(KFC餐厅:%s%trump)print(KFC餐厅:%s%harland)defMcDonald():print(麦当劳餐厅:%s%trump)print(麦当劳餐厅:%s%harland)KFC()McDonald()看代码感觉很美,运行代码就会发现报错喽。运行KFC()函数没有任何问题;运行McDonald()函数就报错了;给我们弹出一个bug, 在print(麦当劳餐厅:%s%harland)这句代码中,抛出【NameError: name harland

17、is not defined】的错误。这就是变量的作用问题:作用域分为全局作用域和局部作用域。全局作用域:在所有函数之外赋值的变量,可以在程序任意位置使用(全局作用域),这就是全局变量;比如第一行的trump = 所有餐厅都要卖【兰州拉面】;它在KFC()与McDonald()两个函数中都起作用。局部作用域:在某个函数内部赋值的变量,只能在当前函数内使用(局部作用域),出了这个函数,它就不起作用了,这就是局部变量;比如harland = 所有KFC餐厅卖烤串;它只在KFC()函数中起作用,在McDonald()就不起作用了。可是,如果,我非让KFC的哈兰山德士老爷爷说话在麦当劳管用怎么办?也就

18、是非要让harland = 所有KFC餐厅卖烤串,在麦当劳中起作用怎么办有办法,在harland = 所有KFC餐厅卖烤串使用global对变量进行修饰,global表示全局意思,它就告诉计算机,这个变量变成了全局变量,它在任何地方都起作用。globalharland好了global修饰词就学到这里。下面,我们看一下最常用的函数嵌套。3.2函数嵌套其实,我们都见过函数嵌套,比如:print(len(我爱你)、print(type(10)这就是print()函数嵌套了len()函数,print()函数嵌套了type()函数;这样,代码会先运行print()括号内的函数,再将这个函数结果放到pri

19、nt()函数中执行,打印出来。这样操作,叫做在函数内部调用其他函数,我们自己定义的函数也可以这么做。defhello():print(欢迎光临KFC)print(很高兴为您服务)deforder():print(这里是下单中心)hello()print(请您点餐)print(以上菜单的菜品都有)order()在这里,我定义了两个函数,函数hello()与函数order(),在函数order()中调用了函数hello(),这样函数hello()中的代码会在函数order()中运行。这就是函数的嵌套,在一个函数中调用其他函数。讲到这儿,是不是都饿了。那就快去KFC吧,但是不要去KFC点拉面哦。下节课带大家利用函数来解决项目问题。下节课见。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2