python 构造函数传参_python:构造函数参数表示法

Python支持调用任何可调用对象(即函数、构造函数,甚至是理解__call__方法的对象),指定位置参数、命名参数,甚至这两种类型的参数。在

传递命名参数时,它们必须位于位置参数之后(如果传递了任何参数)。在

所以你可以调用任何函数,比如:def f(a, b):

return a + b

通过以下方式:

^{pr2}$

而以下表单将触发错误:f(a=1, 2) # Named arguments must appear AFTER positional arguments

f(1, a=2) # You are passing the same argument twice: one by position, one by name

因此,当您传递一个命名参数时,请确保不要将同一个参数传递两次(也就是说,也是按位置传递的),还要检查参数名称是否存在(另外:如果有记录表明参数可以/应该按名称传递,则在继承/重写时应尊重它们的名称)。在

另外,Python支持传递*arguments和{}。这些是您可以以可变方式处理的附加参数,因为许多语言都支持它们。在

*args(名称不重要-它必须有一个星号才是位置变量;它是一个元组)保留剩余的不匹配的位置参数(不是因为位置参数意外而得到TypeError,而是作为一个元素进入*args)。在

**kwargs(名称不重要-它必须有两个星号才能成为命名/关键字变量;它是一个字典)包含剩余的不匹配的命名参数(这样的参数不是意外的命名参数而得到TypeError,而是作为一个元素进入**kwargs)。在

所以,也许你会看到这样一个函数&#

你可能感兴趣的:(python,构造函数传参)