码迷,mamicode.com
首页 > 编程语言 > 详细

python学习笔记-(八)装饰器、生成器&迭代器

时间:2016-08-15 19:02:58      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

1. 装饰器

1.1 定义:

本质上是个函数,功能是装饰其他函数—就是为其他函数添加附加功能 

1.2 装饰器原则:

1)  不能修改被装饰函数的源代码;

2)  不能修改被装饰函数的调用方式;

1.3 实现装饰器知识储备:

1.3.1 函数即“变量”

定义一个函数相当于把函数体赋值给了函数名

1.3.2 高阶函数

见上篇学习笔记

1.3.3 嵌套函数

定义:在一个函数体内用def去声明一个新函数

# def foo():         #定义函数foo()
    ...m=3            #定义变量m=3;
    ...def bar():     #在foo内定义函数bar()
        ...n=4        #定义局部变量n=4
        ...print(m+n)  #m相当于函数bar()的全局变量
    ...bar()         #foo()函数内调用函数bar()
# foo()             #调用foo()函数
7  

1.3.4 装饰器

高阶函数+嵌套函数=>装饰器

  • 函数参数固定
# import time
# def timer(func):
    ...def deco(name):
        ...start_time = time.time()
        ...func(name)
        ...stop_time = time.time()
        ...print("The func run time is %s" % (stop_time-start_time))
    ...return deco
# @timer
# def test(name):
    ...time.sleep(3)
    ...print("In the test!--%s" % name)
# test(‘cc‘)

 

  • 函数参数不固定

 

 

2. 迭代器&生成器

2.1 列表生成式

2.2 迭代器

2.3 生成器

3.json&pickle数据序列化

4.程序目录规范

 

python学习笔记-(八)装饰器、生成器&迭代器

标签:

原文地址:http://www.cnblogs.com/cocc/p/5770642.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!