装饰器实际上就是为了给某程序增添功能,但该程序已经上线或已经被使用,那么就不能大批量的修改源代码,这样是不科学的也是不现实的,所以就产生了装饰器
1.简单的装饰器
def func1():
print('nice to meet you ')
def outer(func):
def inner():
print('!!!!!!!')
func1()
return inner
f = outer(func1)
f()
打印的结果:
!!!!!!!
nice to meet you
2.接收多个参数的装饰器
def outer(func):
def inner(*args,**kwargs):
#添加修饰的功能
print('PPPPPPPP')
func(*args,**kwargs)
return inner
@outer 注释:@outer就相当于 say=outer(say)
def say(name,age):
print('my name is %s , I am %d years old'%(name,age))
say('sunck',18)
打印的结果:
PPPPPPPP
my name is sunck , I am 18 years old
网友评论