前言
此文仅为记录学习要点使用
1 生成器
任何包含yield语句的函数称为生成器
生成器最大的特点是会多次产生(返回值),当返回一个值之后,函数会进行等待(保存状态),激活后再返回一个值,直到空为止
例:def yieldfun(list):
for i in list:
yield i
for i in yieldfun(list):
code
2 包与模块
当模块存储再文件中时,包为模块所在目录
要成为包,必须包含一个命名为__init__.py的文件(模块)
dir(module)可以查看模块中所有可用的函数
3 __future__模块
若要用这模块必须为第一行
这个模块主要适用于2.x与3.x之间的兼容,future模块内有定义版本,表示通过future模块引入定义版本的新特性。即当前为2.7版本,future模块定义了3.6版本,可以通过引入future模块来使用3.6版本的新特性(感觉是在打补丁)。
4 资源语句
方式:
with expression [as variable]:
with-block
这是一个控制流语句用于简化资源使用语句,先从expression中获取返回值并记为r,然后调用r的__enter__方法返回值赋给variable,再执行with-block语句。语句执行后,执行r的__exit__并推出控制块。原理上来说,try except可以做到同样的功能,但这个封装更好也更简单。