私は自分自身をかなり有能な Python プログラマーだと思っていますが、この言語で私が理解できなかった側面の 1 つがデコレータです。
私はそれらが何であるかを(表面的には)知っていますし、チュートリアル、例、Stack Overflow の質問を読み、構文を理解し、独自の構文を書くことができ、@classmethod や @staticmethod を時々使用していますが、自分の Python コードの問題を解決するためにデコレータを使用するという考えはまったく思いつきません。「うーん...これはデコレータの仕事のようだ!」と思うような問題に遭遇したことはありません。
そこで、皆さんが自分のプログラムでデコレータを使用した例をいくつか提供していただければ、私も「なるほど!」と思える瞬間が訪れて、理解できるのではないかと思っています。
ベストアンサー1
私は主にタイミングの目的でデコレータを使用します
def time_dec(func):
def wrapper(*arg):
t = time.clock()
res = func(*arg)
print func.func_name, time.clock()-t
return res
return wrapper
@time_dec
def myFunction(n):
...