装饰器

妖精的绣舞 提交于 2019-12-03 06:49:19
#_author:Xing#date:2019/11/2# 装饰器(函数)# 1.作用域:L_E_G_B# 2.高阶函数# (1)函数名可以作为参数输入# (2)函数名可以作为返回值# 3.闭包# 关于闭包:闭包=内部函数+定义函数时的环境def outer():    x=10    def inner():#条件1:内部函数        print(x)#条件2:x为外部环境的一个变量    return inner#结论:内部函数inner就是一个闭包outer()()#10#inner局部变量,全局不能调用#关于闭包:#闭包=内部函数+定义函数时的环境print('-------------')def outer(x):    def inner():#条件1:内部函数        print(x)#条件2:x为外部环境的一个变量    return inner#结论:内部函数inner就是一个闭包f=outer(8)f()#8print('-------------')# import  time# start=time.time()# time.sleep(1)# end=time.time()# print(end - start)#1.016906499862671print('-------------')#遵守开放封闭原则# def showtime(f):#     start = time.time()#     f()#     end = time.time()#     print('spend %s' % (end - start))  # spend 3.0004241466522217# showtime(fun)#改进def fun():    print('function...')    time.sleep(3)import  timedef showtime(f):    def inner():        start = time.time()        f()        end = time.time()        print('spend %s' % (end - start))  # spend 3.0004241466522217    return innerfun=showtime(fun)fun()#执行结果:# function...# spend 3.0003504753112793
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!