gpt4 book ai didi

python - 是否可以声明一个类变量,该变量将产生其他两个类变量的总和

转载 作者:太空宇宙 更新时间:2023-11-03 13:10:55 24 4
gpt4 key购买 nike

class my_class(object):
def __init__(self):
self.ref = 0
self.ask = 0
self.added = self.ref + self.ask

inst = my_class()
inst.ref = 5
inst.ask = 7
print(inst.ref + inst.ask)
print(inst.added)

我希望 print(inst.added) 返回 12 但它返回 0

最佳答案

最简单的方法是使 added 成为一个方法并调用它:

>>> class A:
... def __init__(self):
... self.ref = 0
... self.ask = 0
... def added(self):
... return self.ref + self.ask
...
>>> a = A()
>>> a.ref = 5
>>> a.ask = 7
>>> a.added()
12
>>>

或者您可以使 added 成为一个属性,这样您就可以像访问数据属性而不是方法一样访问它:

>>> class A:
... def __init__(self):
... self.ref = 0
... self.ask = 0
... @property
... def added(self):
... return self.ref + self.ask
...
>>> a = A()
>>> a.ref = 5
>>> a.ask = 7
>>> a.added
12
>>>

关于python - 是否可以声明一个类变量,该变量将产生其他两个类变量的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43881808/

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