Keyword-Only Argument of Python

首先来看一下位置参数:

def per(name, sex, age):
    print(name, sex, age)
per(
'bpc' , 'man' , 26 )
#bpc man 26
代码中有三个位置参数,我们在调用中在相应位置传递对应值即可,而如果想把参数指定为 keyword-only, 可以在带 * 的后面声明参数,这样就可以实现带 * 参数后面的参数为 keyword-only 参数,如:
def per(name, *sex, age):
    print(name, sex, age)
per('bpc', 'man', age=26)
#bpc ('man',) 26
注:只所以第二个打印带括号,是因为带*参数表示列表参数

也可以写成:
def per(name, sex, *, age):
    print(name, sex, age)
per('bpc', 'man', age=26)
#bpc man 26
另外 keyword-only arguments 还需要注意与列表参数进行区分,列表参数的 "*" 号是紧跟参数的,而非独占一个位置,且列表参数可以传零至多个值,强制性关键字参数在传值时不可以缺省(除非其有默认值),且必须使用关键字赋值。

你可能感兴趣的:(Python)