04_3函数的参数教学课件.pptxVIP

  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文档。上传文档
查看更多
空白演示 在此输入您的封面副标题 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前加上**,把字典拆成三个键/值对,每个键/值对作为一个关键字参数(键对应参数名,值对应参数值)传递给函数,字典的三个键/值对分别赋予了三个关键字参数。

文档评论(0)

你找对了 + 关注
实名认证
文档贡献者

正版课件均可编辑 注意:其它人很多盗版P P T都是图片形式,买到请直接投诉退款!

1亿VIP精品文档

相关文档