python函数之_可变参数
两种格式:
1.一星: 被初始化为元组,接收位置剩余的参数 --- 默认值是空元组()
2.两星: 被初始化为有序字典,接收剩余的关键字参数 --- 默认值是空字典{}
3.Note: 一星必须在两星之前
1.一星: 被初始化为元组,接收位置剩余的参数 --- 默认值是空元组()
2.两星: 被初始化为有序字典,接收剩余的关键字参数 --- 默认值是空字典{}
3.Note: 一星必须在两星之前
1.Any formal parameters which occur after the *args parameter are ‘keyword-only’ arguments,meaning that they can only be used as keywords rather than positional arguments.
备注:‘keyword-only’ arguments是什么鬼?
def f(*a, b = 8):
print(a, b)
f(3, 4)
输出:
(3, 4) 8
def f(*a, b):
print(a, b)
f(3, b = 4)
输出:
(3,) 4
2.一星必须在两星之前
def f(a, *b, **c):
print(a)
print(b)
print(c)
f(2, 3, 4, x = 5, y = 6)
输出:
2
(3, 4)
{'x': 5, 'y': 6}