如何禁止赋值给某些属性并更新Python对象的链接属性?

时间:2015-10-06 11:36:53

标签: python

仅举例来说,

const int SWP_NOMOVE = 0x0002;
const int SWP_NOSIZE = 0x0001;
const int SWP_SHOWWINDOW = 0x0040;
  1. c = myClass() 的属性x是只读的。尝试更改myClass会引发错误。

  2. c.x的属性abmyClass连接。当一个人改变时,另一个人也会自动改变。

  3.   

    a=2*b

1 个答案:

答案 0 :(得分:3)

您要找的是@property

class MyClass:
    def __init__(self, x, a):
        self._x = x
        self.a = a

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

    @property
    def b(self):
        return self.a / 2

    @b.setter
    def b(self, b):
        self.a = b * 2

x没有设置器,因此它是只读的。