第5章 函数设计和使用.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 函数设计和使用

第5章 函数的设计和使用 将可能需要反复执行的代码封装为函数,并在需要该段代码功能的地方调用,不仅可以实现代码的复用,更重要的是可以保证代码的一致性,只需要修改该函数代码则所有调用均受到影响。 5.1 函数定义 def 函数名([参数列表]): 注释 函数体 5.1 函数定义 斐波那契数列 def fib(n): a, b = 0, 1 while a n: print(a, end= ) a, b = b, a+b print() fib(1000) 5.1 函数定义 在定义函数时,开头部分的注释并不是必需的,但是如果为函数的定义加上这段注释的话,可以为用户提供友好的提示和使用帮助。例如,把上面生成斐波那契数列的函数定义修改为下面的形式,加上一段注释。 def fib(n): accept an integer n. return the numbers less than n in Fibonacci sequence. a, b = 1, 1 while a n: print(a, end= ) a, b = b, a+b print() 5.1 函数定义 5.2 形参与实参 函数定义时括弧内为形参,一个函数可以没有形参,但是括弧必须要有,表示该函数不接受参数。 函数调用时向其传递实参,将实参的值或引用传递给形参。 在函数内直接修改形参的值不影响实参。 5.2 形参与实参 例1:编写函数,接受两个整数,并输出其中最大数。 def printMax(a, b): if ab: pirnt(a, is the max) else: print(b, is the max) 这个程序并不是很好,如果输入的参数不支持比较运算,会出错。 5.2 形参与实参 对于绝大多数情况下,在函数内部直接修改形参的值不会影响实参。例如下面的示例: def addOne(a): print(a) a += 1 print(a) a = 3 addOne(a) 3 4 a 3 5.2 形参与实参 在有些情况下,可以通过特殊的方式在函数内部修改实参的值,例如下面的代码。 def modify(v): #修改列表元素值 v[0] = v[0]+1 a = [2] modify(a) a [3] def modify(v, item): #为列表增加元素 v.append(item) a = [2] modify(a,3) a [2, 3] def modify(d): #修改字典元素值或为字典增加元素 d[age] = 38 a = {name:Dong, age:37, sex:Male} a {age: 37, name: Dong, sex: Male} modify(a) a {age: 38, name: Dong, sex: Male} 5.3 参数类型 在Python中,函数参数有很多种:可以为普通参数、默认值参数、关键参数、可变长度参数等等。 Python函数的定义非常灵活,在定义函数时不需要指定参数的类型,也不需要指定函数的类型,完全由调用者决定,类似于重载和泛型; 函数编写如果有问题,只有在调用时才能被发现,传递某些参数时执行正确,而传递另一些类型的参数时则出现错误。 5.3.1 默认值参数 def 函数名(形参名=默认值,……) 函数体 默认值参数必须出现在函数参数列表的最右端,且任何一个默认值参数右边不能有非默认值参数。 5.3.1 默认值参数 调用带有默认值参数的函数时,可以不对默认值参数进行赋值,也可以赋值,具有较大的灵活性。 def say( message, times =1 ): print message * times say(hello) hello say(hello,3) hello hello hello say(hi,7) hi hi hi hi hi hi hi 5.3.1 默认值参数 再例如,下面的函数使用指定分隔符将列表中所有字符串元素连接成一个字符串。 def Join(List,sep=None): return (sep or ).join(List) aList = [a, b, c] Join(aList) a b c Join(aList, ,) a,b,c 5.3.1 默认值参数 默认值参数如果使用不当,会导致很难发现的逻辑错误,例如: def

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档