Python _uinit _*参数
所以我对Python非常陌生,我想使用这个库。然而,在类的构造函数中有一个参数,我找不到任何关于它的信息 init方法如下所示: def u u init_uu self,ain1,ain2,bin1,bin2,*,微步=16: 这个*是做什么的?据我所知,自我只是客体本身,其他只是论点。但问题是什么 链接到完整类: 在Python 3中,在函数签名中添加*会强制调用代码将星号后定义的每个参数作为关键字参数传递:Python _uinit _*参数,python,init,Python,Init,所以我对Python非常陌生,我想使用这个库。然而,在类的构造函数中有一个参数,我找不到任何关于它的信息 init方法如下所示: def u u init_uu self,ain1,ain2,bin1,bin2,*,微步=16: 这个*是做什么的?据我所知,自我只是客体本身,其他只是论点。但问题是什么 链接到完整类: 在Python 3中,在函数签名中添加*会强制调用代码将星号后定义的每个参数作为关键字参数传递: >> def foo(a, *, b): .. print(
>> def foo(a, *, b):
.. print('a', a, 'b', b)
>> foo(1, 2)
TypeError: foo() takes 1 positional argument but 2 were given
>> foo(1, b=2)
a 1 b 2
在Python 2中,此语法无效。在Python 3中,将*添加到函数的签名会强制调用代码将星号后定义的每个参数作为关键字参数传递:
>> def foo(a, *, b):
.. print('a', a, 'b', b)
>> foo(1, 2)
TypeError: foo() takes 1 positional argument but 2 were given
>> foo(1, b=2)
a 1 b 2
在Python2中,此语法无效。符号*表示调用的内容。基本上,这意味着您必须在*之后指定参数的名称。例如,如果您有此方法:
def somemethod(arg1, *, arg2):
pass
你可以这样称呼它:
somemethod(0, arg2=0)
somemethod(0, 0)
但不是这样:
somemethod(0, arg2=0)
somemethod(0, 0)
使用*强制用户指定哪些参数将获得哪些值。使用*表示调用。基本上,这意味着您必须在*之后指定参数的名称。例如,如果您有此方法:
def somemethod(arg1, *, arg2):
pass
你可以这样称呼它:
somemethod(0, arg2=0)
somemethod(0, 0)
但不是这样:
somemethod(0, arg2=0)
somemethod(0, 0)
使用*强制用户指定哪些参数获得哪些值