标签:不能 计算 bin 附加 UNC fun turn strong 装饰器
高阶函数+嵌套函数 --》 装饰器
装饰器:
本质是函数,(装饰其他函数)就是为其他函数添加附加功能。
(原则):1。不能修改被装饰的函数的源代码。
2。不能修改被装饰的函数的调用方式。
高阶函数:
(满足以下条件之一就称之为高阶函数)
1.把一个函数名当作实参传给另外一个函数
(在不修改被装饰函数源代码的情况下为其添加功能)
2.返回值中包含函数名
(不修改函数的调用方式)
嵌套函数:
#类似于
def test1():
def test2()
pass #这种函数里面还def函数的就是嵌套
#这种在函数里面调用函数的不属于嵌套函数
def test1()
test2()
装饰器实例:
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:Irving #为函数附加计算该函数运行时间的功能(装饰器) import time def timer(func): def deco(): start_time = time.time() func() stop_time = time.time() print("use time:%s"%(stop_time-start_time)) return deco # 主要概念:函数即变量 # timer函数主要是用return来返回要修饰函数名的内存地址;(不修改函数调用方式) # deco函数主要是用func这个形参把要修饰的函数调用进来运行;(不修改源代码) @timer # @timer代表着 test1 = timer(test1) def test1(): time.sleep(3) print("in the test1") @timer def test2(): time.sleep(3) print("in the test2") test1() test2()
标签:不能 计算 bin 附加 UNC fun turn strong 装饰器
原文地址:https://www.cnblogs.com/Xuuuuuu/p/9410799.html