gpt4 book ai didi

python - 在 Python 类中声明变量在哪里更好?

转载 作者:太空狗 更新时间:2023-10-30 02:04:36 25 4
gpt4 key购买 nike

当我编写一个类时,我在 __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__ 方法中声明类的所有函数的所有变量是更好的做法吗?

最佳答案

您的 sum 是一个很好的计算值候选者,即作为类变量(而不是方法)的方法。这可以通过 @property

来完成
class Foo(object):
def __init__(self, a, b):
self.a = a
self.b = b

@property
def sum(self)
return self.a + self.b

f = Foo(1, 2)
print 'The sum is' + f.sum

http://docs.python.org/2/library/functions.html#property

关于python - 在 Python 类中声明变量在哪里更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19291927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com