# Comments explaining code i think
@innerclass
または:
def foo():
"""
Basic Doc String
"""
@classmethod
これは何の一般的な定義のために、また、私は実際にはPythonのドキュメントで何かを見つけることができません。
これはどうしますか?
# Comments explaining code i think
@innerclass
または:
def foo():
"""
Basic Doc String
"""
@classmethod
これは何の一般的な定義のために、また、私は実際にはPythonのドキュメントで何かを見つけることができません。
これはどうしますか?
デコレータです。
<shameless plug>
私は、対象にblog postを持っています。あなたは、単にf()
周りfunction
を包む
@function
def f():
pass
で </shameless plug>
あなたの恥知らずのプラグは、非常によく書かれた明快な記事でした。 – UberJumper
これはの構文です。
。 function
はデコレータと呼ばれます。
これは、次のためだけの構文糖です:
def f():
pass
f=function(f)
私はこの答えが好きで、十分に短いと明確です+1 – Patric
彼らがデコレータと呼ばれています。それらは他の関数に適用される関数です。似たような質問に対する私の答えのコピーがここにあります。
Pythonデコレータは、別の機能に特別な機能を追加します。 イタリックデコレータは
def makeitalic(fn):
def newFunc():
return "<i>" + fn() + "</i>"
return newFunc
ような関数は関数内で定義されていることを注意することができました。基本的には、関数を新しく定義したものに置き換えることです。例えば、私はこのクラス
class foo:
def bar(self):
print "hi"
def foobar(self):
print "hi again"
は今言って、私は両方の機能を印刷したいいる「---」彼らが行われた後と前に。私はprint文の前後に "---"という印字を追加することができました。私は自分自身を繰り返して好きではないので、しかし、私はだから今、私はhttp://www.ibm.com/developerworks/linux/library/l-cpdecor.html
私は2人が受け入れられる解決策を与えることができたらいいと思います。 : – UberJumper
FYI - 他の答えはここにあります:http://stackoverflow.com/questions/739654/understanding-python-decorators/739667#739667 –
なぜ、あなたは 'fn' – wordsforthewise
@uberjumperをチェックし、デコレータの詳細について
に私のクラスを変更することができデコレータ
を行います - 私達がそれにふさわしいと感じたらabhinavgへの答えを与えるべきです。私はブログに無料のトラフィックをいくつか持っていて、とにかく私よりも担当者が少ない。 –