我想在Python中定義一個只讀屬性的類;我跟着Python文檔,並用下面的代碼上來:python - 爲什麼只讀屬性是可寫的?
#!/usr/bin/python
class Test:
def __init__(self, init_str):
self._prop = init_str
@property
def prop(self):
return self._prop
t = Test("Init")
print t.prop
t.prop = "Re-Init"
print t.prop
現在,當我嘗試執行代碼,雖然我期待錯誤/例外,我看到它得到正常執行:
$ ./python_prop_test
Init
Re-Init
我的Python版本是2.7.2。我所看到的是預期的嗎?如何確保財產不可設置?
舊式類不給'property'數據描述符給予優先考慮;它可以讓你在實例字典中隱藏屬性。 – eryksun 2013-03-17 08:08:30