コードは次のとおりです。
def Property(func):
return property(**func())
class A:
def __init__(self, name):
self._name = name
@Property
def name():
doc = 'A''s name'
def fget(self):
return self._name
def fset(self, val):
self._name = val
fdel = None
print locals()
return locals()
a = A('John')
print a.name
print a._name
a.name = 'Bob'
print a.name
print a._name
上記は次の出力を生成します。
{'doc': 'As name', 'fset': <function fset at 0x10b68e578>, 'fdel': None, 'fget': <function fget at 0x10b68ec08>}
John
John
Bob
John
コードはここから取得されます。
質問:何が問題なのですか?シンプルなはずなのに見つかりません。
注:属性を単に非表示にするのではなく、複雑な取得/設定のためのプロパティが必要です。
前もって感謝します。