Python获取当前运行函数的名称、类方法名称

获取函数的名称

# 在函数外部获取函数的名称,可以使用.__name__来获取。
def test_func_name1():
	print('test')


func_name1 = test_func_name1.__name__
print(func_name1)  # test_func_name1

# 在函数内部获取当前函数的名称,可以使用sys._getframe().f_code.co_name来获取
import sys


def test_func_name2():
	print(sys._getframe().f_code.co_name)


test_func_name2()  # test_func_name2

获取类和方法名称

# 获取类名称,可以用self.__class__.__name__

import sys

class Test1(object):
	def test1(self):
		print(self.__class__.__name__)


test1_obj = Test1()
test1_obj.test1()  # Test1


# 获取类里面方法名称,跟获取函数名称一样sys._getframe().f_code.co_name)
class Test2(object):
	def test2(self):
		print('当前类的名为:', self.__class__.__name__)
		print('当前方法名称为:', sys._getframe().f_code.co_name)


test2_obj = Test2()
test2_obj.test2()

以上代码的测试结果为:

Python获取当前运行函数的名称、类方法名称

以上。