我剛剛啓動Python,因此如果我缺少明顯的東西,請耐心等待。我已閱讀關於裝飾以及它們如何工作,我試圖瞭解這如何被翻譯:Python setter裝飾器是如何工作的
class SomeObject(object):
@property
def test(self):
return "some value"
@test.setter
def test(self, value):
print(value)
從我已閱讀,這應該變成:
class SomeObject(object):
def test(self):
return "some value"
test = property(test)
def test(self, value):
print(value)
test = test.setter(test)
然而,當我試試這個,我得到
AttributeError: 'function' object has no attribute 'setter'
有人可以解釋這種情況下翻譯的工作原理嗎?
我明白,但爲了正確地使用裝飾,你首先需要了解他們的工作。 (當我說「應該」時,我在談論運行時) – Flavien
這很好,只是認爲我爲了教育原因確保你這麼做了,並不是因爲你認爲這是一個普通代碼的好主意。 –