python根据方法名获取方法_Python中如何通过函数名获得此函数是否有装饰器

最新回答

6fe5e74509e96c24dcf55792a3097c0cc4ba8440.jpg

2019-12-08回答

所谓装饰器函数包装函数添加些附加功能装饰器函数参数包装函数返包装函数:试:

首先十分不推荐这种做法, 会令程序难以维护.

其次, 多个装饰器是按照装饰器的顺序进行执行的.

如果你编写过装饰器, 你就应该知道, 其实装饰器就是把函数的名字传入进去, 在执行函数之前, 进行一些提前的处理.

例如下面这段代码, 自定义的装饰器

def add_schedid(handler_func):

"""

@handler_func: 请求处理函数

"""

@functools.wraps(handler_func)

def wrapper(self, *args, **kwargs):

"""

wrapper

"""

# handler_func就是所装饰的函数,可以在这里做一些真正函数执行前所需的处理,

handler_func(self, *args, **kwargs)

return wrapper

装饰器本身就是一个函数, 将所装饰的函数, 作为一个参数传进来, 然后在执行这个函数之前, 进行一个处理,这就是装饰器. 所以和正常函数执行顺序是一样的..

通常可以理解它是一个hook 的回调函数。

或者是理解成python 留给二次开发的一个内置API。 一般是用回调和hook 方式实现的。

简单来讲,可以不严谨地把Python的装饰器看做一个包装函数的函数。

比如,有一个函数:

def func():

print 'func() run.'

if '__main__' == __name__:

func()

运行后将输出:

func() run.

现在需要在函数运行前后打印一条日志, 但是又不希望或者没有权限修改函数内部的结构, 就可以用到装饰器(decorator):

def log(function):

def wrapper(*args, **kwargs):

print 'before function [%s()] run.' % function.__name__

rst = function(*args, **kwargs)

print 'after function [%s()] run.' % function.__name__

return rst

return wrapper

@log

def func():

print 'func() run.'

if '__main__' == __name__:

func()

对于原来的函数"func()"并没有做修改,而是给其使用了装饰器log,运行后的输出为:

before function [func()] run.

func() run.

after function [func()] run.

把"@log"放到func()函数

电缆载流量是指一条电缆线路在输送电能时所通过的电流量,在热稳定条件下,当电缆导体达到长期允许工作温度时的电缆载流量称为电缆长期允许载流量。

电缆载流量口决:

估算口诀:

二点五下乘以九,往上减一顺号走。

三十五乘三点五,双双成组减点五。

条件有变加折算,高温九折铜升级。

穿管根数二三四,八七六折满载流。

说明:

(1)本节口诀对各种绝缘线(橡皮和塑料绝缘线)的载流量(安全电流)不是直接指出,而是”截面乘上一定的倍数”来表示,通过心算而得。由表5 3可以看出:倍数随截面的增大而减小。

“二点五下乘以九,往上减一顺号走”说的是2.5mm’及以下的各种截面铝芯绝缘线,其载流量约为截面数的9倍。如2.5mm’导线,载流量为 2.5×9=22.5(A)。从4mm’及以上导线的载流量和截面数的倍数关系是顺着线号往上排,倍数逐次减l,即4×8、6×7、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值