Python_33装饰器

装饰器

开放封闭原则

装饰器是方法、类等

def outer(f):
print ('hello')
print ('hello')
print ('hello')
print ('hello')
print ('hello')
return f

@outer
def f1():
print ('F1')
f1()
______________________________

hello
hello
hello
hello
hello
F1

装饰器的使用

1.@函数名(f)

执行函数名(f),并将接下来的函数名(f1)不加括号当做参数

2、将函数名(f(f1))的返回值重新赋值给函数名(f1)

 

函数没有返回值时默认返回NULL

def outer(f):
def innner():
print ('hello')
print ('hello')
print ('hello')
print ('hello')
print ('hello')
r=f()
return r
return innner

@outer
def f1():
print ('FFFF')
f1()
—————————————————————————————————————————————运行结果如下

hello
hello
hello
hello
hello
FFFF

只要函数应用了装饰器,就会被重新定义为装饰器的内层函数

函数可以有参数

参数就对应写

 

posted on 2018-02-24 16:36  JuGooLar  阅读(114)  评论(0编辑  收藏  举报

导航