python使用内置方法和修饰器方法获取类名、函数名
1. 外部获取
从外部的情况好获取,可以使用指向函数的对象,然后用__name__属性。
def a():pass
a.__name__
或者
getattr(a,'__name__')
2. 内部获取
1)使用修饰器的方法
使用修饰器就可以对函数指向一个变量,然后取变量对象的__name__方法。
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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 inspectdef 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()
python使用内置方法和修饰器方法获取类名、函数名相关推荐
- java 获取当前方法的名称_Java中获取当前函数名
有时候我们需要在程序中获取当前运行的函数名,如何简单的做到这点呢?我们可以用getStackTrace轻松搞定. 一提到getStatckTrace多数人会联想到Thowable中的getStackT ...
- python脚本名_python获取类名函数名、脚本路径
1).python获取当前运行的类名函数名import inspect def get_current_function_name(): return inspect.stack()[1][3] cl ...
- python内置哪些装饰器_Python内置的wraps装饰器有什么用
Python装饰器(decorator)在实现的时候,被装饰后的函数其实已经是另外一个函数了(函数名等函数属性会发生改变),为了不影响,Python的functools包中提供了一个叫wraps的de ...
- [EntLib]微软企业库5.0 学习之路——第五步、介绍EntLib.Validation模块信息、验证器的实现层级及内置的各种验证器的使用方法——上篇...
本文是为后面的学习之路做铺垫,简单介绍下企业库中的Validation模块的一些相关知识,包括Validation模块的简介.用途.使用方法.默认提供的多种验证器的介绍等. 一.简介及用途 在实际的项 ...
- python的内置字典数据类型_python 数据类型元组与字典内置方法
1.元组 (1)元组是不可变的列表,能存多个值:如果多个值只有取得需求,没有改的需求,用元组最合理 (2)定义:在()内用逗号隔开,可以存任意类型的值 注意:当元组只有一个元素时,要在后面加逗号 # ...
- python的内置函数功能[翻译]
Python 解释器内置了许多始终可用的函数和类型.它们按字母顺序列在这里. 内置功能 abs() dict() help() min() setattr() all() dir() he ...
- python的内置函数
python的内置函数: 1.abs() 将负数取正 print(abs(-10)) 2.all() 全部为真结果为真 print(all([1,0])) 3.any() 有一个为真,结果为真 pri ...
- 什么是python的内置函数_什么是python内置函数
python的内置函数截止到python版本3.6.2,现在python一共为我们提供了68个内置函数.它们就是python提供给你直接可以拿来使用的所有函数.那今天我们就一起来认识一下python的 ...
- python通过内置的什么函数打开一个文件_利用python进行文件操作
这篇文章主要介绍了如何利用python进行文件操作,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 什么是文件 文件是系统存储区域的一个命名位置,用来存储一些信息,便于后续访问.能够在非 ...
最新文章
- npm安装过程出现的问题及解决方式
- 对高级软件工程课程的展望 by 吴双志
- 机房冒水导致1500万元研发的源代码消失,软件公司起诉物业索赔七百万
- 首次吃了一颗带奶糖味的消炎药,不知道管用不
- vue 出现Elements in iteration expect to have 'v-bind:key' directives
- 实现流水灯以间隔500ms的时间闪烁(系统定时器SysTick实现的精确延时)
- 【CodeForces - 1020A】New Building for SIS(模拟)
- 【转】iOS编译OpenSSL静态库(使用脚本自动编译)
- java 找出调用的方法_如何找到用Java调用给定方法的所有方法?
- /bin、/sbin、/usr/bin、/usr/sbin目录的区别
- 如何在gradle上仅运行一个测试类
- R数据处理包plyr:超越apply函数族的向量化运算
- 论文阅读笔记(五)——FD-MOBILENET
- 在 Linux 下搭建 FTP 服务器
- WiFi 扫描结果的通知过程
- Flutter关于简单的吸顶通讯录制作
- sterm机器人编程_STEAM智能编程机器人
- 手机上将mp4转换成amv_如何在智能手机上将图像转换为黑白图像
- android 音乐扬声器,android安插耳机状态使用扬声器外放音乐
- RNA-seq Review:RNA-seq数据分析