python 函数(二) 参数类型

python中的函数中传递的参数类型包括:位置参数,默认参数,可变参数、关键字参数。

位置参数
下图函数add中a,b做为参数,函数定义时写的参数为形式参数简称形参;调用函数add()传入的参数3,4为实际参数简称实参。所以在调用函数add时,结果就是7。
在这里插入图片描述
这样就大大提高了代码的复用性,再来看计算两数之间的和,就不用每次都去修改函数内部的代码,将两数作为实参传给函数就行。
在这里插入图片描述
这里实参与形参需要注意的是必须是一一对应的,否则报错:
比如下面形参有a,b两个,我只传了一个实参;则提示缺少1个必需的位置参数:‘b’。
在这里插入图片描述
同理实参数大于形参数也会报错:add()接受2个位置参数,但给出了3个。
在这里插入图片描述
形参的数据类型取决于实参传入的数据类型:
在这里插入图片描述
二 默认参数
默认参数是指在函数定义的时候,给形参一个默认值。
如图所示,age为默认参数,默认等于18;所以调用函数的时候,只传了name的实参这时默认参数就会生效。
在这里插入图片描述
如果在调用函数时,传入的实参与形参一一对应,那么就会覆盖默认参数的值。
在这里插入图片描述
需要注意的是实参与形参必须是一一按顺序对应的,如下age是默认参数,这里我想打印出name,age,gender,但是我只传了两个实参,"女"就会按顺序覆盖age。
在这里插入图片描述
所以当我们调用函数时也可以输入“参数名=值”(关键字参数):
在这里插入图片描述

当形参包括位置参数、默认参数时,其位置顺序位置参数在默认参数前面。否则会报错:非默认参数跟随默认参数。
在这里插入图片描述
三 可变参数(*args),(**kwargs)
传入参数是可变的,当不确定参数个数的时候可以使用不定长参数。其结果转换成元组类型。
在这里插入图片描述
位置参数与可变参数结合使用,位置参数应在可变参数前面,这里name接收了”张三“,剩下的可变参数全部接收。
在这里插入图片描述
如果可变参数在位置参数前面的,传入的实参按顺序都会被可变参数接收,所以后面的位置参数接收不到实参会报错:info()缺少1个必需的关键字参数:‘name’
在这里插入图片描述
默认参数与可变参数结合使用时,两者顺序可随意,只不过当默认参数在可变参数后面的时候,传入的实参都会被可变参数接收,每次默认参数的值都会生效。
在这里插入图片描述
四 关键字参数
前面写过使用关键字参数来确定函数传入的参数值“参数名=值”。以key=value的形式传入实参,使用可变参数(**kwargs)以key value的形式接收,结果返回字典类型。
在这里插入图片描述
结合位置参数使用必须放在位置参数后面,否则报错:
在这里插入图片描述
结合默认参数必须放在默认参数后面,否则报错:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

久醉绕心弦,

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值