3.8新特性仅限位置参数和仅限关键字参数

仅限位置参数/

def f(a, b, /, c, d):
    print(a, b, c, d)

# 合法调用
f(10, 20, 30, d=40)

# 不合法调用
f(10, b=20, c=30, d=40)

# 解释说明
仅限位置参数的声明符号为/,表示在该符号左侧的参数声明为位置参数,函数调用时传递的参数同样必须为位置参数,不能为关键字参数等

仅限关键字参数*

def f(a, b, *, c, d):
    print(a, b, c, d)

# 合法调用
f(10, 20, c=30, d=40)

# 不合法调用
f(10, b=20, 30, d=40)

# 解释说明
仅限关键字参数的声明符号为*,表示在该符号右侧的参数声明为关键字参数,函数调用时传递的参数同样必须为关键字参数,不能为位置参数等
posted @ 2022-09-13 15:39  我在路上回头看  阅读(28)  评论(0编辑  收藏  举报