我可能错过了一些非常简单的东西。
我想用 property()
将getter和setter函数添加到 MyClass
.
class MyClass:
def __init__(self, attr):
self._attr = attr
def attr_setter(self, value):
print(f'Setting attr')
self._attr = value
def attr_getter(self):
print('Getting attr')
return self._attr
self.attr = property(fget=attr_getter, fset=attr_setter)
c = MyClass('something')
print(c.attr)
c.attr = 'something else'
print(c.attr)
但是,不会触发打印语句和赋值 attr_setter
及 attr_getter
. 我得到以下输出:
位于<0x0000024a26b489a0>的属性对象
别的
1条答案
按热度按时间5f0d552i1#
在评论中查找详细信息