def f1(a, b, c): # 形参
print(a, b, c)
# 位置传参
f1(1, 2, 3) # 实参
f1(4, 5, 6)
f1(41, 51, 61)
# 关键字传参
f1(c=7, a=9, b=8)
# 位置 - 关键字
f1(7, c=9, b=8)
def f2(a, b, c=10):
print(a, b, c)
f2(1, 2, 3)
f2(1, 2)
# 默认值只会初始化一次
# def f3(a, L=[1]):
def f3(a, L=None):
if L is None:
L = [1]
L[0] = L[0] + 1
print(L)
f3(1)
f3(2)
f3(3)
# 仅位置参数
def f4(x, y, /):
print(x, y)
f4(2, 3)
# f4(2, y=3)
# f4(x=2, y=3)
def f5(x, /, y):
print(x, y)
f5(2, 3)
f5(2, y=3)
# f5(x=2, y=3)
def f6(*, x):
print(x)
# f6(100)
f6(x=100)
def f7(a, /, b=10, *, c=20):
print(a, b, c)
f7(200)
# f7(200, 300, 400)
f7(200, 300, c=400)
f7(200, b=300, c=400)
# f7(a=200, b=300, c=400)