装饰器和闭包理解(一)

天涯浪子 提交于 2019-12-01 19:20:45
'''
@Descripttion: 
@version: 
@Author: 冯浩
@Date: 2019-10-21 15:19:54
@LastEditors: 冯浩
@LastEditTime: 2019-10-21 16:02:34
'''
#例子一
def deco1(func):# 装饰器
    def inner():
        print('装饰器内部函数')
    return inner

#原始表达方式, 装饰器其实就是该方式的语法糖
def example0():
    print('原始函数')

print(id(example0))
example0 = deco1(example0)
print(id(example0))
print('*'*32)
example0() #执行替换后的本函数

#装饰器表达法,装饰器可以理解为函数调用的简化表达
@deco1
def example1():
    print('原始函数')
print('-'*32)
example1() #执行装饰器表达后的本函数

'''
63866536
60649120
********************************
装饰器内部函数
--------------------------------
装饰器内部函数
'''
补充:example1()表是调用函数的执行结果,example1表示调用函数本身(函数并未执行)

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!