装饰器
定义:在不改变原有函数的情况下,增加额外的功能。其返回值也是一个python函数。
装饰函数,用于在已经定义好的某一个函数(或代码段)使用时,输入或者操作自己想要的数据。
#一个已有的代码:
def Hello():
print(' Word!')
函数对象中,可以拿到函数名字的一个属性是:__name__
注意这里是前后两个下划线:._ _name_ _
(我将中间放一个空格为了方便看清楚,实际使用时不用中间的空格)
> > > Hello.__name__
> > > 'Hello'
> > > f=Hello
> > > f()
> > > Word!
使用装饰函数,在调用Hello函数时,进行一些操作。
1.装饰器无参数,函数无参数
装饰函数中要把需要被装饰的函数当做参数传进去
def decorator(func):
print('%s '%func.__name__,end='')
#返回被装饰的函数
return func
装饰函数来装饰Hello函数
@decorator
def Hello():
print(' Word!')
打印被装饰好的函数