- 1、本文档共55页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
;函数概述
函数的定义与调用
函数的参数与返回值
函数的嵌套调用与递归调用
匿名函数
变量的作用域
模块
函数应用举例;函数的分类
函数是一组实现某一特定功能的语句集合,是可以重复调用、功能相对独立完整的程序段。
从用户使用角度分类:
标准库函数(标准函数)
用户自定义函数
从参数传递角度分类:
有参函数
无参函数;函数概述
函数的定义与调用
函数的参数与返回值
函数的嵌套调用与递归调用
匿名函数
变量的作用域
模块
函数应用举例;函数的定义
采用def关键字定义函数,不需要指定返回值的类型;
函数的参数不限,不需要指定参数类型;
参数括号后面的冒号“:”必不可少;;函数的定义
函数体相对于def关键字必须保持一定的空格缩进;
return语句是可选的;
允许定义函数体为空的函数;函数的调用
一般形式:函数名([实参表])
实参可以是常量、变量、表达式、函数等,但在进行函数调用时必须有确定的值。
对于无参函数,调用时实参表列为空,但括号()不能省;7.2函数的定义与调用;函数概述
函数的定义与调用
函数的参数与返回值
函数的嵌套调用与递归调用
匿名函数
变量的作用域
模块
函数应用举例;形式参数(形参)和实际参数(实参)
形式参数:定义函数时函数名后面括号中的变量名
实际参数:调用函数时函数名后面括号中对应的参数
参数的传递方式
值传递
地址传递
;值传递(传值调用)
所谓值传递方式是指在函数调用时,为形参分配存储单元,并将实参的值复制到形参;
函数调用结束,形参所占内存单元被释放,值消失。
值传递的特点:形参和实参各占不同的内存单元,函数中对形参值的改变不会改变实参的值。这就是函数参数的单向传递规则。
;7.3函数的参数及返回值;地址传递(传地址调用)
所谓地址传递方式是指在函数调用时,将实参数据的存储地址作为参数传递给形参。
特点:形参和实参占用同样的内存单元,函数中对形参值的改变也会改变实参的值;7.3函数的参数及返回值;默认值参数:可以为函数的参数提供默认值
函数定义时,形式参数中非默认参数和默认参数可以并存,但非默认参数之前不能有默认参数。
默认参数的值只在定义时被设置计算一次。如果函数修改了对象,默认值就被修改了;默认值参数
可以使用函数__defaults__查看函数所有默认值参数的当前值。
使用__defaults__查看mul函数的默认值参数
对函数的调用有多种方式。;默认值参数
分析两段代码的异同
可变默认参数运行时
会保持状态
不可变默认参数每次
默认调用时为空
;位置参数和关键字参数
位置参数
在函数调用时,实参默认采用按照位置顺序传递给形参的方式
上例中的函数调用中,2,3,4默认按位置依次传递给了x,y,z
;位置参数和关键字参数
关键字参数
在函数调用时,实参采用指定:参数名=实参值的方式进行调用
上例中,通过明确指定参数名和实参值的方式,虽然参数传递位置不同,但函数返回值是相同的;可变长参数
一个函数可能在调用时需要使用比定义时更多的参数,这就需要使用可变长参数。
使用方法是在变量名前加星号*或**;可变长参数;调用函数时不指定可变长参数示例;调用函数时使用不同形式的可变长参数示例;可变长参数与默认参数、位置参数同时使用示例;函数的返回值
指函数被调用、执行完后,返回给主调函数的值。
一般形式:return表达式
return的作用使程序控制从被调用函数返回到调用函数中,同时把返回值带给调用函数
函数内可有多条返回语句。
如果没有return语句,会自动返回NONE;如果有return语句,但是return后面没有表达式也返回NONE。;示例:编写函数,判断一个数是否是素数;示例:求一个数列中的最大值和最小值;函数概述
函数的定义与调用
函数的参数与返回值
函数的嵌套调用与递归调用
匿名函数
变量的作用域
模块
函数应用举例;递归调用
在函数的执行过程中又直接或间接地调用该函数本身,这就是函数的递归调用
在函数中直接调用函数本身称为直接递归调用
在函数中调用其他函数,其他函数又调用原函数,称为间接递归调用;递归调用
递归调用的两个要素:递归终止条件和递归表达式
递归终止条件表示退出递归调用的条件,此条件保证递归函数是可以返回的,而不是无限递归
递归表达式表示在递归调用过程中的一般归纳情况;递归调用示例:求n!
由n!定义可知:
递归终止条件:n=0或1时,返回值为1
递归表达式:f(n)=n*f(n-1);递归调用经典示例:汉诺塔问题
假设有三个塔座,分别用A、B、C表示,在一个塔座(设为A塔)上有64个盘片,盘片大小不等,按大盘在下,小盘在上的顺序叠放着,如图8.5所示。现要借助于B塔,将这些盘片移到C塔去,要求在移动的过程中,每个塔座上的盘片始终
您可能关注的文档
最近下载
- 2025年全国特种设备安全管理人员A证考试题库(含答案) .docx
- 灌装操作工作业指导书.doc
- 番茄酱灭菌灌装机说明书end.doc VIP
- 性格培养08勇敢的小熊.pptx
- 腐植酸肥料生产建设项目可行性研究报告.doc
- 民营企业财务管理新规制度.doc
- 2023基于手机银行APP专区调研的客群精细化运营分析报告.pdf VIP
- 杀菌操作工作业指导书.doc VIP
- 基于手机银行APP专区调研的客群精细化运营分析报告-42页.doc VIP
- 马工程系列《教育学原理》项贤明主编第一到十章全完整版课件PPT:产生发展、教育与社会人的发展、目的培养目标、制度、课程教学德育、教师学生等(1).pptx
文档评论(0)