在Python中的对象实例化期间使用构造函数参数变量名?

在Python中的对象实例化期间使用构造函数参数变量名?,python,syntax,Python,Syntax,在python中声明对象的新实例时,为什么会有人在安装时使用参数中的变量名?假设您有以下对象: class Thing: def __init__(self,var1=None,var2=None): self.var1=var1 self.var2=var2 此处的程序员决定稍后在某个点创建此对象的实例,并按以下方式输入: NewObj = Thing(var1=newVar,var2=otherVar) 为什么有人会这样输入,而不是只将newVa

在python中声明对象的新实例时,为什么会有人在安装时使用参数中的变量名?假设您有以下对象:

class Thing: 
    def __init__(self,var1=None,var2=None):
        self.var1=var1
        self.var2=var2
此处的程序员决定稍后在某个点创建此对象的实例,并按以下方式输入:

NewObj = Thing(var1=newVar,var2=otherVar)
为什么有人会这样输入,而不是只将newVar/otherVar变量输入构造函数参数而不使用“var1=”和“var2=”?如下图所示:

NewObj = Thing(newVar,otherVar)

我在使用python方面相当新手,而且我找不到关于这种特定语法的任何信息,即使这似乎是一个相当简单/直接的问题。原因是清楚,不是为了计算机,而是为了你自己和其他人

class Calculation: 
    def __init__(self, low=None, high=None, mean=None):
        self.low=low
        self.high=high
        self.mean=mean

...

# with naming (notice how ordering is not important)
calc = Calculation(mean=0.5, low=0, high=1)

# without naming (now order is important and it is less clear what the numbers are used for)
calc = Calculation(0, 1, 0.5)

请注意,对任何函数都可以这样做,而不仅仅是在初始化对象时。

您知道对任何其他函数调用也可以这样做,而不仅仅是构造函数吗?因此人们不必记住参数顺序(在编写或阅读代码时)。啊,好的,我想这只是为了清楚起见,我只是想确定这不是与默认参数或类似的东西有关的奇怪语法