(機械翻訳) pyramid.decorator

reify(wrapped)[ソース]

クラスメソッドのデコレータとして使用します。これはPythonの `@ property`デコレータとほぼ同じように動作しますが、最初の呼び出しの後にインスタンスdictにデコレートするメソッドの結果をインスタンス変数で置き換えます。これは、Pythonの言葉では、非データ記述子です。以下に例とその使用法を示します。

>>> from pyramid.decorator import reify

>>> class Foo(object):
...     @reify
...     def jammy(self):
...         print('jammy called')
...         return 1

>>> f = Foo()
>>> v = f.jammy
jammy called
>>> print(v)
1
>>> f.jammy
1
>>> # jammy func not called the second time; it replaced itself with 1
>>> # Note: reassignment is possible
>>> f.jammy = 2
>>> f.jammy
2