生成器表达式
l1=[1,2,3,4]
l2=(i+100 for i in l1)
print(l2.__next__())
print(list(l2))
和列表生成式用法一样
l1=[2,3,4,5]
l2=(i+100 for i in l1 if i>3)
print(list(l2))
模块解决
1.维护性差
2.函数过多造成的结构不清晰
3.相同功能函数在不同文件中的使用
模块的分类
1.自定义模块 自定义模块
2.内置模块
3.经过编译后的c或c++库 以dll形式存在
4.包 本质就是文件夹
import 用于导入一个模块,会立即执行模块里的代码
1.创建名称空间
2.执行模块代码 将内部名称和值存储在名称空间中
3.在当前执行创建一个名字 把名字指向被导入模块的名称空间
import tools as 取别名
名字不能是关键字
模块的两种方式
import from import
模块的搜索顺序
1.内容存在的
2.内置的
3.sys.path