风-fmgao

导航

2018年5月20日

Python 可迭代的对象、迭代器和生成器

摘要: Python中可迭代对象和迭代器对象的理解 我们在用for ... in ...语句循环时,in后面跟随的对象要求是可迭代对象,即可以直接作用于for循环的对象统称为可迭代对象(Iterable),如list、tuple、dict、set、str等。 可迭代对象是实现了__iter__()方法的对象 阅读全文

posted @ 2018-05-20 19:40 风-fmgao 阅读(1829) 评论(0) 推荐(0) 编辑

列表生成器

摘要: 第一种:a(i for i in range(5))next(a)# 到最后一个会报错for i in a: print(a) # 不会报错第二种:def fib(max): n, a, b = 0, 0, 1 while n < max: yield b # 把函数的执行过程冻结在这一步,并且把b 阅读全文

posted @ 2018-05-20 13:22 风-fmgao 阅读(160) 评论(0) 推荐(0) 编辑

装饰器原理

摘要: 原理:原有函数: def fun_1()正常调用原有函数: fun_1()现有需要需要在原有函数基础上添加新功能,但是不改变原有函数法一: 1、添加新函数(装饰一波) def fun_2(fun_1): # 嵌套函数。返回函数地址(fun_3 ),调用时才执行 def fun_3(): return 阅读全文

posted @ 2018-05-20 10:22 风-fmgao 阅读(116) 评论(0) 推荐(0) 编辑

python闭包

摘要: 在python语言中形成闭包的三个条件,缺一不可: 1)必须有一个内嵌函数(函数里定义的函数)——这对应函数之间的嵌套 2)内嵌函数必须引用一个定义在闭合范围内(外部函数里)的变量——内部函数引用外部变量 3)外部函数必须返回内嵌函数——必须返回那个内部函数 闭包:关于闭包,即函数定义和函数表达式位 阅读全文

posted @ 2018-05-20 08:01 风-fmgao 阅读(406) 评论(0) 推荐(0) 编辑

Python中的LEGB规则

摘要: 目标 命名空间和作用域——Python从哪里查找变量名? 我们能否同时定义或使用多个对象的变量名? Python查找变量名时是按照什么顺序搜索不同的命名空间? 命名空间与作用域的介绍 命名空间 大约来说,命名空间就是一个容器,其中包含的是映射到不同对象的名称。你可能已经听说过了,Python中的一切 阅读全文

posted @ 2018-05-20 07:55 风-fmgao 阅读(715) 评论(0) 推荐(0) 编辑