python 学习笔记(6)闭合与生成器
来源:互联网 发布:如何看待网络水军 编辑:程序博客网 时间:2024/06/06 03:05
声明:本文系本人学习python3总结,如有侵权等,请及时告知;
欢迎转载:请保留http://blog.csdn.net/kevinx_xu/article/details/8901720
yield 命令
主要重点注意yield的工工作过程。
第一次next()构建生成器
对同一生成器对象反复调用 next() 将确切地从上次调用的位置开始继续,直到下一条 yield 语句。所有的变量、局部数据等内容在 yield 时被保存,在 next() 时被恢复。
一、正则表达式深层次应用
1、补充
[]中括号表示“匹配中括号中这些字符的其中之一”
[^] ^ 有特别的含义:非。[^abc] 的意思是:“ 除了 a、 b 或 c 之外的任何字符”。
\1,它表示“嘿,记住的第一个分组呢?把它放到这里。(即是匹配到的第一个匹配项)
类似linux shell中的$1 $2
二、匹配模式列表
eg:
#!/usr/bin/envpython
importre
importos
importsys
defmatch_test(pattern, search, replace):
def match_rule(word='bass'):
print word
return re.search(pattern, word)
def apply_rule(word='bass'):
return re.sub(search, replace, word)
return (match_rule(), apply_rule())
if__name__ == '__main__':
print "This is a test program forpython"
os.system('date')
patterns = (('[sxz]$' , '$', 'es'),
('[^aeioudgkprt]h$', '$', 'es'),
('(qu|[^aeiou])y$', 'Y$', 'ies'),
('$', '$','s'))
for(pattern, search, replace) in patterns:
print pattern
print search
print replace
rules = [match_test(pattern, search, replace) for (pattern, search,replace) in patterns]
以上示例为函数嵌套以及列表的解析确切的可以称之为元组的解析实现的正则表达式测试;
三,匹配文件
1、with 语句
创建了叫做 context【上下文】的东西:当 with 块结束时,Python 将自动关闭文件,即便是在 with 块中引发了例外也会这样。
eg:
with open('./patterns.txt','r')aspattern_fd:
for line in pattern_fd:
(pattern, search, replace) = line.split(',')
print pattern
print search
print replace
print match_test(pattern, search, replace)
对文件解析,和对列表,元组等解析是一样的,具体使用,具体考虑用那种方法实现。
四、生成器
yield 命令的意思是这不是一个普通的函数。它是一次生成一个值的特殊类型函数。可以将其视为可恢复函数。调用该函数将返回一个可用于生成连续 x 值的 生成器【Generator】
第一次通过next()调用生成器,仅仅是完成了创建,并没有开始执行代码;
第二次调用next() 对同一生成器对象反复调用 next() 将确切地从上次调用的位置开始继续,直到下一条 yield 语句。所有的变量、局部数据等内容在 yield 时被保存,在 next() 时被恢复。
1、斐波那奇生成器
“yield” 暂停一个函数。“next()” 从其暂停处恢复其运行。
def fib(max):
a, b = 0, 1
while a < max:
yield a
a, b = b, a + b
- python 学习笔记(6)闭合与生成器
- 深入Python3 (Dive Into Python3)笔记6--闭合与生成器
- python 学习笔记6 生成器
- 闭合 与 生成器
- Python学习总结笔记(7)-- 生成器与协程
- Python学习笔记:生成器与迭代器
- Python学习笔记-生成器
- Python学习笔记--生成器
- python学习笔记 生成器
- Python生成器学习笔记
- python学习笔记--生成器
- Python学习笔记 - 生成器generator
- python学习笔记--理解生成器
- 【Python 学习笔记】各种生成器
- python学习笔记--generator生成器
- python学习笔记-生成器并行
- python学习笔记之生成器
- python-cookbook学习笔记八 迭代器与生成器一
- Jpetstore研究(一):spring MVC + jpetstore + mysql搭建
- 生活中总结出来的各种定律
- Poj1816(Trie+DFS)
- RSA 8.5.1安装快照
- js对象
- python 学习笔记(6)闭合与生成器
- 接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
- django_搭建
- 正则字典
- ViewStub延迟创建(加载)
- vs2010 添加directshow 问题
- JS1K 2013优胜作品公布 3D蜜蜂仅获亚军
- HTTP协议
- Android4.0 Launcher源码研究