上节课复习
1, 列表生成式
l=[i for i in range(5) if i>3]
#2,生成器表达式
def func():
for i in range(5):
if i>3:
yield i
g=func()
g=(i for i in range(5)if i>3)
next(g)
3,什么是模块
模块就是一系列功能的集合体
优点:1,重复用功能 2,拿来主义,提高开发效率
4,如何使用模块
区分:
执行文件
被导入模块
在执行文件中用模块
import module
首次导入模块
1,创建一个模块的名称空间
2,执行模块内的代码,将产生的名字存放于模块的名称空间中
3,在执行文件的名称空间中拿到一个名字module,该名字指向模块的名称空间
注意:要调用模块名称空间中的名字,语法
module,模块名称空间的名字
优点:,点名道姓的引用某个模块中的名字,不会与当前执行文件名称空间中的重复名字发生冲突
缺点:需要加前缀:module
from module import x
首次导入模块,与import导入模块的前两件事一模一样
只是第三件事不同:
1、直接拿到x(属于执行文件的名称空间),x是指向module中的x的值,
x=10
x
优点:
不用加前缀,直接引用模块中的名字,代码更加精简
缺点:
容易与当前执行文件名称空间中的重复名字发生冲突
from 模块名 import *
代表将模块中所有的名字拿到当前名称空间中
5、区分py文件的两种用途
if __name__ == "__main__":
文件被当做脚本执行时执行的代码
else:
文件被当做模块导入时执行的代码
6、模块的搜索路径
内存 - -》内置 - --》sys.path
import mudule
强调:
sys.path的第一个值是当前执行文件的文件夹
软件开发目录,把功能细分到每一个文件中,然后在调用就简单很多