如何设置其他"私人"属性

时间:2018-01-08 09:05:23

标签: python properties

假设给出了以下代码,Python 2.7

class A:
    def __init__(self, x):
        self.x = x

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

    @x.setter
    def x(self, x):
        self.__x = x
        self._y = self.x**2

我们有一个属性x,一旦设置/更新,它也应该自动设置/更新属性_y_y仅用于其他功能的内部计算。到目前为止的动机。现在如果我做以下

>>> mytest = temp.A(2)
>>> mytest._y
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: A instance has no attribute '_y'
>>> 

是否无法通过属性设置多个属性?

0 个答案:

没有答案