因此,我对Python还是一个新手,有一个我想使用的库。但是,该类的构造函数中有一个参数,我什么也找不到。
init 方法如下:
def __init__(self, ain1, ain2, bin1, bin2, *, microsteps=16):
*是做什么的?据我所知,自我只是对象本身,而其他只是参数。但是*是什么?
链接到完整的课程: check line 73
预先感谢
答案 0 :(得分:1)
在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
在Python 2中,此语法无效。
答案 1 :(得分:0)
*
表示称为keyword arguments的东西。基本上,这意味着您必须在*
之后指定参数的名称。例如,如果您具有以下方法:
def somemethod(arg1, *, arg2):
pass
您可以这样称呼它:
somemethod(0, arg2=0)
但不是这样:
somemethod(0, 0)
使用*
会强制用户指定哪些参数正在获取哪些值。