Python

python 装饰器

2018-07-09  本文已影响0人  anyurchao

python 装饰器

1.打印函数名称



函数对象有一个name属性,可以拿到函数的名字:

def log(func):
    def wrapper(*args,**kw):
        print('call %s():'% func.__name__)
        return func(*args,**kw)
    return wrapper
@log
def now():
    print('2015-3-25')

打印结果

$ python aaa.py<br>
call now():<br>
2015-3-25
2.进制转换



int()函数可以把字符串转换为整数,但int()函数还提供额外的base参数,默认值为10。如果传入base参数,就可以做N进制的转换:

def int2(x,base = 2):
    return int(x,base)

print int2('100000')

输出32

3.偏函数



functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的函数int2:

import functools
int2 = functools.partial(int,base = 2)
print int2('100000')

输出32

所以,简单总结functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。

详细文件移步Python学习笔记

上一篇下一篇

猜你喜欢

热点阅读