在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用,除了可变参数无法和命名关键字参数混合。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数/命名关键字参数和关键字参数。 这是‘函数的参数’那一小节的原文。
KEYWORD_ONLY Value must be supplied as a keyword argument. Keyword only parameters are those which appear after a or args entry in a Python function definition. 这是python官方文档关于KEYWORD_ONLY的原文
廖老师说命名关键字参数不可以和可变参数混用,而python官方文档又说KEYWORD_ONLY参数出现在或args后面,args不就是可变参数吗?出现在args后面,那意思就是可以混用喽。
那KEYWORD_ONLY到底是不是命名关键字参数呢?
你说得对,KEYWORD_ONLY就是命名关键字参数。
KEYWORD_ONLY
在没有*args的情况下,必须加一个*分隔:
*args
*
def fn(a, b, c, *, ko): pass
在有*args的情况下,后面紧跟着的就是命名关键字参数:
def fn(a, b, c, *args, ko): pass
教程已更新。
Sign in to make a reply
辛未六月羊
在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用,除了可变参数无法和命名关键字参数混合。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数/命名关键字参数和关键字参数。 这是‘函数的参数’那一小节的原文。
KEYWORD_ONLY Value must be supplied as a keyword argument. Keyword only parameters are those which appear after a or args entry in a Python function definition. 这是python官方文档关于KEYWORD_ONLY的原文
廖老师说命名关键字参数不可以和可变参数混用,而python官方文档又说KEYWORD_ONLY参数出现在或args后面,args不就是可变参数吗?出现在args后面,那意思就是可以混用喽。
那KEYWORD_ONLY到底是不是命名关键字参数呢?