1. 语法
self.__class__.__name__ # class name
cls.__name__ # class name
sys._getframe().f_code.co_filename # 当前文件名, 或通过__file__获取
sys._getframe().f_code.co_name # 当前函数名
sys._getframe().f_lineno # 当前行号
2. 例子
import sys
class Foo(object):
def print_name(self):
print(f'FileName: {__file__}')
print(f'FileName: {sys._getframe().f_code.co_filename}')
print(f'ClsName : {self.__class__.__name__}')
print(f'Method : {sys._getframe().f_code.co_name}')
print(f'Lineno : {sys._getframe().f_lineno}')
f0 = Foo()
f0.print_name()
输出:
FileName: test.py
FileName: test.py
ClsName : Foo
Method : print_name
Lineno : 9