Python基础 三器 (装饰器&生成器&迭代器)
一. 装饰器 1、装饰器的作用 - 1.装饰器作用: 本质是函数(装饰其他函数)就是为其他函数添加其他功能 装饰器必须准寻得原则: 1)不能修改被装饰函数的源代码 2)不能修改被装饰函数的调用方式 2.实现装饰器知识储备: 1)函数即“变量” 2)高阶函数 3)嵌套函数 高阶函数+潜逃函数=》装饰器 2、使用高阶函数模仿装饰器功能 1)定义:把一个函数名当做实参传给另一个函数 2)返回值中包含函数名 3)下面使用高阶函数虽然可以实现装饰器的一些功能,但是违反了装饰器不能改变调用方式的原则,以前使用bar()现在将调用方式改编成了test1(bar)就是将bar的函数名当做变量传给了test1() #! /usr/bin/env python # -*- coding: utf-8 -*- import time def timer ( func ) : start_time = time . time ( ) func ( ) print '函数执行时间为' , time . time ( ) - start_time def test ( ) : print '开始执行test' time . sleep ( 3 ) print 'test执行结束' timer ( test ) ''' 开始执行test test执行结束 函数执行时间为 3.00332999229 ''' 4