Python学习总结11:获取当前运行类名和函数名
一、 使用内置方法和修饰器方法获取类名、函数名
1. 外部获取
从外部的情况好获取,可以使用指向函数的对象,然后用__name__属性。
def a(): pass a.__name__
或者
getattr(a,'__name__')
2. 内部获取
1)使用修饰器的方法
使用修饰器就可以对函数指向一个变量,然后取变量对象的__name__方法。
def timeit(func): def run(*argv): print func.__name__ if argv: ret = func(*argv) else: ret = func() return ret return run @timeit def t(a): print a t(1)
2)使用sys模块的方法
def a(): print sys._getframe().f_code.co_name
二、 使用inspect模块动态获取当前运行的函数名
动态获取当前运行的函数名很方便,特别是对于一些debug系统来说
import inspect def get_current_function_name(): return inspect.stack()[1][3] class MyClass: def function_one(self): print "%s.%s invoked"%(self.__class__.__name__, get_current_function_name()) if __name__ == "__main__": myclass = MyClass() myclass.function_one()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!