class Books():
def __init__(self):
self.__dict__['referTable'] = 1
@property
def referTable(self):
return 2
book = Books()
print(book.referTable)
print(book.__dict__['referTable'])
ランニング:
vic@ubuntu:~/Desktop$ python3 test.py
2
1
Books.referTable データ記述子であることは、 によって隠されませんbook.__dict__['referTable']:
property()関数はデータ記述子として実装されます。したがって、インスタンスはプロパティの動作をオーバーライドできません。
propertyそれを隠すには、組み込みの記述子の代わりに、独自の記述子を使用する必要があります。組み込みの記述子はありますが、propertyデータではありませんか?