68
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

実行中の関数・メソッド名を取得したい

毎回忘れるので、メモ。

sys._getframe().f_code.co_name

簡単な関数を書いて試してみる。

>>> def printFuncName():
...     print sys._getframe().f_code.co_name
... 
>>> printFuncName()

printFuncName

自分はこういう場面でよく使います。

from abc import abstractmethod

class SuperClass(object):

    @abstractmethod
    def implementMe():
        raise NotImplementedError( sys._getframe().f_code.co_name )

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
68
Help us understand the problem. What are the problem?