獲取函數的名稱
# 在函數外部獲取函數的名稱,可以使用.__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()
以上代碼的測試結果為:
以上。