生成器(模仿协同程序来实现:yield(也可有return)):是特殊的迭代器,可以用next()方法
协同程序(可以运行的独立函数调用,函数可以暂停或挂起,并在需要的时候(调用next()时)从程序离开的地方继续或重新开始)
def libs():
a=0
b=1
while True:
a,b = b,a+b
yield a
for each in libs():
if each>100:
break
print(each,end=' ')
模块:
容器 --> 数据的封装
函数 --> 语句的封装
类 --> 方法和属性的封装
模块 --> 模块就是程序
导入模块:import 文件名; from 模块名 import 函数名 ; import 模块名 as 新名字
if __name__ == 'main'(作为主程序时使用)
>>> import timeit
>>> print(timeit.__doc__)
>>> dir(timeit)
>>> timeit.__all__ (该模块可供外部调用的所有东西,但不是所有的模块都有该属性;有该属性的
使用from 模块名 import * 仅导入列表中的函数(否则导入以下划线开头的函数))
>>> timeit.__file__(查看源代码所在位置)
>>>help(timeit)
搜索路径
包:创建一个文件夹,用于存放相关的模块,文件的名字即包的名字;在文件夹中创建一个__init__.py的模块文件,内容可以为空。
查看python的安装路径:
>>> import sys
>>> sys.path