强烈向大家推荐一个好网站,【我要自学网】,教程由在校老师录制,有办公会计、平面设计、室内设计、机械设计、网页编程、影视动画等教程.....让你足不出门,都可以体验学校的专业教育!
装饰器(Decorator)就是用来装饰对象 ,这个对象可以是函数,也可以是类,装饰器的语法是将@装饰器名,放在对应的被装饰的对象上面
def dec(func):
def inner():
pass
return
reture inner
@dec
def func():
pass
函数名、函数体、返回值,函数的内存地址、函数名加括号、函数名被当作参数、函数名加括号被当作参数、返回函数名、返回函数名加括号。
def outer(func):
def inner():
print("我是内层函数!")
return inner
def foo():
print("我是原始函数!")
outer(foo)
outer(foo())
函数名: foo
、outer
、inner
函数体:函数的整个代码结构
返回值: return后面的表达式
函数的内存地址:id(foo)
、id(outer)
等等
函数名加括号:对函数进行调用,比如foo()
、outer(foo)
函数名作为参数: outer(foo)
中的foo本身是个函数,但作为参数被传递给了outer函数
函数名加括号被当做参数:其实就是先调用函数,再将它的返回值当做别的函数的参数,例如outer(foo())
返回函数名:return inner
返回函数名加括号:return inner()
,其实就是先执行inner函数,再将其返回值作为别的函数的返回值。
参考:http://www.liujiangblog.com/course/python/39 装饰器推荐查看刘江老师写的相关教材, 举例恰到好处,方便记忆和立即