Python函数参数

Python函数参数类型全部如下

位置参数,默认位置参数,不定长位置参数,键参数,不定长键参数
>>> def func(a,b,c=10,*args,**kwargs):
...     print(a,b,c,*args,**kwargs)
... 
>>> func(1,2,3,4,5)
1 2 3 4 5


>>> def func(a,b,c=10,*args,**kwargs):
...     print(a,b,c,args,kwargs)
... 
>>> func(1,2,3,4,5,6,7,8,9)
1 2 3 (4, 5, 6, 7, 8, 9) {}


>>> def func(a,b,c=10,*arg,f=10,**kwargs):
...     print(a,b,c,arg,f,kwargs)
... 
>>> func(1,2,3,4,5,6,7,8,9)
1 2 3 (4, 5, 6, 7, 8, 9) 10 {}


func(1,2,6,7,8,f=3,c=4,g=5,e=9)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: func() got multiple values for argument 'c'

定义时:建议将键参数定义在不定长位置参数之后
a,b :位置参数
c=10:默认位置参数
*args:不定长位置参数
f=10:键参数
**kwargs:不定长键参数
备注:*的作用是拆包

传参数时:
位置参数,默认位置参数,不定长位置参数,键参数,不定长键参数
备注:c=10:默认位置参数,如果不按照位置传参,后面赋值c时则出现TypeError错误
Python中元组是可以a=1,2 表示,如果在函数传递中这种表述方式容易产生歧义,
例如:
def func(a,b):  
 print(a,b)
fun(a=1,2)
计算机无法识别是a代表的是元组1,2,还是a=1,b=2,故而python定义位置参数,默认位置参数,不定长位置参数,键参数,不定长键参数
以此方式传递参数则可以保证参数数据能明确

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值