私はデコレータを使っていくつかのメソッドの実行をトレースしようとしました。デコレータコードを以下に示します:すべてのパラメータをデコレータに渡すにはどうすればよいですか?
def trace(func):
def ofunc(*args):
func_name = func.__name__
xargs = args
print "entering %s with args %s" % (func_name,xargs)
ret_val = func(args)
print "return value %s" % ret_val
print "exiting %s" % (func_name)
return ofunc
このデコレータをメソッドに適用しようとすると、selfパラメータは送信されません。どうして私にそのことを教えてもらえますか?どうすれば修正できますか?
xargs = argsのポイントは何ですか? argを直接%演算子に渡すことができます。 – Algorias