ope*_*eek 8 python properties decorator getter-setter python-decorators
任何人都可以找到这个@property装饰器的问题吗?我似乎无法正确断言.我确定我做了一些非常简单的事情,但是有人能指出我疲惫的眼睛朝着正确的方向吗?
class A:
def __init__(self):
self.a = 0
self._b = 0
@property
def b(self):
return self.b
@b.getter
def b(self):
if self._b is None:
return 0
return self._b
@b.setter
def b(self, val):
self._b = (val * 20)
def test_getter_setter():
obj = A()
obj.a = 1
#obj.b = 2
print obj.a, obj.b
obj.b = 2
print obj.a, obj.b
assert obj.b == 40
test_getter_setter()
Run Code Online (Sandbox Code Playgroud)
Mar*_*ers 22
该@property装饰仅适用于新的样式类.继承自object:
class A(object):
Run Code Online (Sandbox Code Playgroud)
通过该更改,您的测试功能通过.
| 归档时间: |
|
| 查看次数: |
3129 次 |
| 最近记录: |