[英]Python @property decorator not working
有人可以發現此@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()
@property
裝飾器僅適用於新樣式類 。 從object
繼承:
class A(object):
有了這一更改,您的測試功能就會通過。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.