使用 getter 和 setter 的 pythonic 方式是什么?

新手上路,请多包涵

我这样做是这样的:

 def set_property(property,value):
def get_property(property):

要么

object.property = value
value = object.property

使用 getter 和 setter 的 pythonic 方式是什么?

原文由 Jorge Guberte 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 366
1 个回答

试试这个: Python 属性

示例代码是:

 class C(object):
    def __init__(self):
        self._x = None

    @property
    def x(self):
        """I'm the 'x' property."""
        print("getter of x called")
        return self._x

    @x.setter
    def x(self, value):
        print("setter of x called")
        self._x = value

    @x.deleter
    def x(self):
        print("deleter of x called")
        del self._x

c = C()
c.x = 'foo'  # setter called
foo = c.x    # getter called
del c.x      # deleter called

原文由 Grissiom 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题