当我写一个类时,我会在__init__
方法中声明一些变量,并在其他函数中声明一些其他变量。因此,我通常最终得到像这样的东西:
class Foo:
def __init__(self,a, b):
self.a=a
self.b=b
def foo1(self,c, d)
sum=self.a+self.b+c+d
foo2(sum)
def foo2(self,sum)
print ("The sum is ", sum)
我认为这种方式有点混乱,因为很难跟踪所有变量。相反,当变量在__init__
方法内被声明时,管理它们会更加容易。因此,与之前的形式不同,我们将会有:
class Foo:
def __init__(self,a, b, c, d, sum):
self.a=a
self.b=b
self.c=c
self.d=d
self.sum=sum
def foo1(self)
self.sum=self.a+self.b+self.c+self.d
foo2(self.sum)
def foo2(self)
print ("The sum is ", self.sum)
你会选择哪一个并为什么?你认为在__init__
方法中声明类的所有函数的所有变量是否是更好的实践?
Foo.foo1
中的foo2(sum)
调用将不会被执行,因为在它上面的一行有一个return
语句。 - Martijn Pieters