1.可變長參數
def f1(x, *arg):
print(x)
print(arg)
f1(1,2,3,4,5)
輸出
1
(2, 3, 4, 5)
def f2(x, **arg):
print(x)
print(arg)
f2(1,a=2,b=3,c=4,d=5)
輸出
1
{'a': 2, 'b': 3, 'c': 4, 'd': 5}
2.關鍵字傳入參數和強制位置傳入參數
def fun(x,y,/,z,*,m,n):
print(x,y,z,m,n)
fun(1,2,z=3,m=4,n=5)
fun(1,2,3,m=4,n=5) # z位置和關鍵字都可以傳遞參數
輸出
1 2 3 4 5
1 2 3 4 5
fun(1,y=2,3,m=4,n=5) # x y只能固定位置傳遞參數
File "<ipython-input-5-19e0b322824a>", line 1
fun(1,y=2,3,m=4,n=5)
^
SyntaxError: positional argument follows keyword argument
fun(1,2,3,m=4,5) # m n只能關鍵字傳遞參數
File "<ipython-input-6-518db50e8c31>", line 1
fun(1,2,3,m=4,5)
^
SyntaxError: positional argument follows keyword argument