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的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。