我在查看grammar rules for python 3.3时发现,星号可以单独出现,后跟逗号和1个或多个附加参数声明。我没有发现任何关于这个的讨论/问题,所以我想我应该发布我找到的问题和答案。你知道吗
示例代码:
def test1( *, y ) :
print( "blah" )
def test2( x, *, y ) :
print( "stuff" )
test1() # error: missing 1 required keyword-only argument
test2() # error: missing 1 required positional argument
test2(1) # error: missing 1 required keyword-only argument
test2(1, y=1) # prints "stuff"
documentation for function definitions只包含一个句子,没有过多强调这个特殊的细微差别:
简而言之,这允许您在不指定默认值的情况下创建命名/关键字参数。此外,在指定为
*arg
的参数出现后,其后的任何参数(不带星号)都将是命名/关键字参数。你知道吗相关问题 更多 >
编程相关推荐