This question already has an answer here:
Keyword only parameter
                                
                                    (1个答案)
                                
                        
                                2年前关闭。
            
                    
因此,我对Python很陌生,并且有一个我想使用的库。但是,在类的构造函数中有一个参数,我什么也找不到。

init方法如下所示:

def __init__(self, ain1, ain2, bin1, bin2, *, microsteps=16):

*是做什么的?据我所知,自我只是对象本身,而其他仅仅是论据。但是*是多少?

链接到完整的课程:
check line 73

提前致谢

最佳答案

在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中,此语法无效。

关于python - Python __init__ *参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53795545/

10-12 22:10
查看更多