2020-11-03

函数的参数
定义函数(参数):普通参数,默认参数,可变参数(可变位置参数,可变关键字参数),keyword-only 参数调用函数(传参):位置参数,关键字参数,参数结构(位置参数解构,关键字参数解构)普通参数 x,y:def add(x,y) return x + y默认参数 x=1:def inc(base,x =1):return base +xinc(3)4inc(3,2)5参数可以有默认值, 但当一个参数有默认值时,调用时如果不传递此参数,会使用默认值带默认值参数必须在不带默认值参数之后,否则会报错SyntaxErrordef inc(x=0,y):return x+y File “”, line 1 def inc(x= 0,y): ^SyntaxError: non-default argument follows default argument可变位置参数:定义参数时前面加一个*,表示这个参数是可变的,可以接受任意多个参数,这些参数构成一个元组,只能通过位置参数传递可变关键字参数:定义参数时,在前面加**,表示这个参数可变,可以接受任意多个参数,这些参数构成一个字典,只能通过关键字参数传递参数的混合使用:#位置参数可以和关键字参数一起使用#当位置可变参数和关键字可变参数一起使用时候,可变位置参数必须在前def fn(*args,**kwargs): print(args) print(kwargs)fn(1,2,3,x=4,y=5) (1,2,3) (1, 2, 3){‘y’: 5, ‘x’: 4}#普通参数可以和可变参数一起使用,但是传参的时候必须匹配def fn(x,y,*args,**kwargs): print(x) print(y) print(args) print(kwargs)fn(1,2,3,4,5,a=6,b=7)112(3, 4, 5){‘a’: 6, ‘b’: 7}#关键字可变参数不允许在普通参数之前def fn(**kwargs,x):print(x)#上面的方式定义会出错#默认参数可以在可变位置参数之前def fn(x=5,*args):print(x)pprint(args)#位置可变参数可以在普通参数之前,但是在位置可变参数之后的普通参数变成可keyword-only 参数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值