強制使用命名引數
函式簽名中第一個星號後指定的所有引數都是僅關鍵字。
def f(*a, b):
pass
f(1, 2, 3)
# TypeError: f() missing 1 required keyword-only argument: 'b'
在 Python 3 中,可以在函式簽名中放置一個星號,以確保其餘引數只能使用關鍵字引數傳遞。
def f(a, b, *, c):
pass
f(1, 2, 3)
# TypeError: f() takes 2 positional arguments but 3 were given
f(1, 2, c=3)
# No error