- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
空白演示
在此输入您的封面副标题
04_3函数的参数
Python程序设计基础
Python Programming
位置参数和关键字参数
调用函数时,可以将实参传递给形参。
实参有两种类型:位置参数和关键字参数。
位置参数:要求实参按形参在函数头中的定义顺序(即位置)进行传递。
关键字参数:使用“形参名=值”的形式传递每个参数。使用关键字参数,实参可以以任何顺序出现。
位置参数和关键字参数
位置参数和关键字参数可以混合使用,但调用函数时所有位置参数都要出现在任何关键字参数之前。假设函数头是:def foo(x, y, z):
foo(10, y = 20, z = 30)
foo(10, y = 20, 30)
默认参数
Python可以定义带默认参数值(为形参提供明确的初始值)的函数。当调用该函数时,若没有给定实参,这些默认参数值就会作为实参传递给形参。
默认参数
定义函数时,所有没有默认值的参数应该放在参数列表的左边,而有默认值的参数应该放在参数列表的右边。即一个函数形参指定了默认值,那么位于它右侧的所有形参都必须指定默认值。
def f1(x, y=0, z):
def f2(x=0, y=0, z):
def f3(x, y=0, z=0):
def f4(x=0, y=0, z=0):
调用带默认值的函数时,若一个实参未给出,它之后所有实参也不能给出。
f3(1, , 20)
f4(, , 20)
f3(1)
f4(1, 2)
参数传递
变量通常都是指向对象的引用。当调用一个带参数的函数时,每个实参的引用值就被传递给形参。
实参是数字、字符串、布尔值和元组,不管函数体中形参有没有变化,实参是不受影响的。数字、字符串、布尔值和元组是不可变对象,其内容不能被更改。
在increase函数体内,修改变量n的值(将新值2赋值给变量n)时,实际上是为新值2创建了新对象,然后将新对象的引用赋值给变量n。
参数传递
实参是列表或字典,那么函数中形参值的变化也带来实参值的变化。因为列表、字典是可变对象。
调用modify函数时,x的引用值被传递给了n。由于x包含了指向列表的引用值,所以n也包含了指向同一列表的相同引用值。即x和n指向同一个列表。
在modify函数体中,改变了形参n的值,也就改变了实参x的值。
包裹传递参数和解包裹
包裹传递参数也称可变长参数。有时在定义函数时,预先并不知道函数需要接受多少个实参。这时候,使用可变长参数就会非常有用。
可变长参数也有位置参数和关键字参数两种形式。
形参名*numbers中的*让Python创建一个名为numbers的空元组,并将所有的实参按先后顺序收集到这个元组中,在函数体内部对这个元组进行处理。
调用可变长位置参数的函数时也可以传递一个元组,必须在元组名values前加上*。
包裹传递参数和解包裹
形参名**args中的**让Python创建一个名为args的空字典,并将所有的实参收集到这个字典中,每个关键字形式的参数调用,都会成为字典的一个元素,参数名成为元素的键,参数值成为元素的值,在函数体内部对这个字典进行处理。
调用可变长关键字参数的函数时也可以传递一个字典,必须在字典名dicts前加上**。
可变长参数可以和其他类型的参数混合使用。
定义函数时,各种类型参数出现的先后顺序是:位置参数、关键字参数、可变长位置参数、可变长关键字参数。
包裹传递参数和解包裹
*和**还可用于函数调用。 此时起到解包裹的作用。
print_args函数有三个位置参数,调用函数时传递的是一个元组。一个元组是无法和三个参数对应的。通过在元组名args前加上*,把元组拆成三个元素,每个元素对应函数的一个位置参数,元组的三个元素分别赋予了三个位置参数。
同样,在传递字典args时,通过在字典名args前加上**,把字典拆成三个键/值对,每个键/值对作为一个关键字参数(键对应参数名,值对应参数值)传递给函数,字典的三个键/值对分别赋予了三个关键字参数。
您可能关注的文档
- (本科)0801-利润的形成-判断题课件.pptx
- (研究生)第16章 国民生活和社会保障教学课件.ppt
- (本科)4.6组合夹具课件.pptx
- (高职)广播电视评论39讲 事实性论据:功能教学课件.pptx
- (高职)《基础会计学综合模拟实训》10、原材料——食用油课件.pptx
- (中职)工程绘图软件应用(Auto CAD)(第4章)教学课件.ppt
- (本科)企业战略管理-2课件.ppt
- 第7章 Tkinter图形界面设计--夏敏捷.ppt
- (中职)项目四 需求分析教学课件.ppt
- (本科)0801-利润的形成-单选7-12课件.pptx
- 2026公务员考试行测常识题库 (含答案).pdf
- 2026国防教育知识考试题库(含答案).pdf
- 四年级上册英语人教版新起点 Fun Time 名师教学课件.ppt
- 人教部编版七年级初一生物上册 第一节 练习使用显微镜 名师教学PPT课件.ppt
- 人教部编版七年级初一历史上册 青铜器与甲骨文名师教学PPT课件(2).ppt
- 人教部编版四年级语文上册 、盘古开天地 名师教学PPT课件.ppt
- 人教版小学音乐二年级下册(简谱) 集体舞 哦,十分钟 教学课件.ppt
- 人教部编版四年级语文下册 .海上日出 名师教学PPT课件.ppt
- 人教版部编版小学语文一年级下册 池上 名师教学课件PPT(2).ppt
- 人教部编版三年级语文下册 13、花钟 名师教学PPT课件.ppt
原创力文档


文档评论(0)