700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python 动态获取当前运行的类名和函数名办法

python 动态获取当前运行的类名和函数名办法

时间:2022-11-03 19:30:53

相关推荐

python 动态获取当前运行的类名和函数名办法

后端开发|Python教程

python,获取类名,获取函数名

后端开发-Python教程

A、使用内置方法和修饰器方法获取类名、函数名

python中获取函数名的情况分为内部、外部,从外部的情况好获取,使用指向函数的对象,然后用__name__属性

考试系统网站 源码,ubuntu安装后登录,爬虫抓取快递评论,24岁自学php一个月后工作,美国seo货运lzw

def a():pass

a.__name__

jsp网上商城源码,vscode vue 开发,ubuntu系统查看密码策略,tomcat 网络漏洞,sqlite基本命令,页面分享插件,哪些属于Web前端框架,网络爬虫服务 费用,php与数据库json,seo编辑优化,带后台的网站制作,使用css为多个网页,ecshop 模板 站长之家,帝国cms自动生成静态页面,CRM客户管理系统PHP源码带聊天功能,装修公司微信小程序源码下载lzw

除此之外还可以:

防红链接源码,ubuntu编写go语言,tomcat是怎么调用日志,爬虫搜直播,php 变量转成数组,seo jisoolzw

getattr(a,’__name__’)

尽管有些脱裤子放屁,总之,从外部获取的方法是非常灵活的。

有些同学需要从函数内部获取函数本身的名字,就需要用些技巧了。

1.使用sys模块的方法:

def a():

print sys._getframe().f_code.co_name

f_code和co_name可以参考python源码解析的pyc生成和命名空间章节。

2.使用修饰器的方法:

使用修饰器就可以对函数指向一个变量,然后取变量对象的__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)

B、使用inspect模块动态获取当前运行的函数名

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()

动态获取当前运行的函数名很方便,特别是对于一些debug系统来说

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。