我想要的是这样的:
>>> x = 2
>>> y = x+10
>>> print(y)
12
>>> x = 30
>>> print(y) #Whatever x is, y is that number x, plus 10.
40
在 Python x 版本中如何声明这种“因变量”?
我知道在标准Python库中执行此操作的唯一方法是使用属性,以便每次访问该属性时都会计算适当的值:
class Thing(object):
def __init__(self, x, y_add):
self.x = x
self.y_add = y_add
@property
def y(self):
return self.x + self.y_add
In use:
>>> t = Thing(2, 10)
>>> t.x
2
>>> t.y
12
>>> t.x = 3
>>> t.y
13
否则,你必须有一个函数调用(y()
代替y
)或使用类似的东西sympy http://www.sympy.org/en/index.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)