gpt4 book ai didi

Python 类 : linked attributes

转载 作者:太空宇宙 更新时间:2023-11-04 07:44:11 25 4
gpt4 key购买 nike

是否有一种更 pythonic 的“链接”属性的方法,这样当类中的一个属性发生变化时,另一个可以根据我定义的某种关系自动更改?

目前,我正在做类似的事情:

class myClass(object):
def __init__(self):
self.x = 1
self.y = 2 * self.x
pass
def set_x(self, x):
self.x = x
self.y = 2 * self.x
return
A = myClass()
print A.x #prints 1
print A.y #prints 2
A.set_x(5)
print A.x #prints 5
print A.y #automatically changes to 10

最佳答案

您可以使用属性:

class myClass(object):
def __init__(self):
self.x = 1

@property
def x(self):
return self._x

@x.setter
def x(self, x):
self._x = x
self.y = 2 * self._x

还有一个测试:

>>> c= myClass()
>>> c.x = 10
>>> c.x
10
>>> c.y
20

关于Python 类 : linked attributes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11944436/

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