前提・実現したいこと
pythonのデコレータ機能で実行されている関数の名前を標準出力で返したいです。
発生している問題・エラーメッセージ
関数の名前を取得しようにもデコレータ内の関数名を取得してしまいます。
出力ではwrapperと出ていますが、本当はgreetingを表示させたいです。
該当のソースコード
python
1import sys 2def name(func): 3 def wrapper(*args, **kwargs): 4 print(sys._getframe().f_code.co_name + " start") 5 func(*args, **kwargs) 6 print(sys._getframe().f_code.co_name + " end") 7 return wrapper 8 9@name 10def greeting(): 11 print("hello") 12 13greeting() 14 15#->wrapper start 16#->hello 17#->wrapper end
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/09/24 05:42