一、列表生成式:生成许多值占内存
l=['egg%s' %i for i in range(1000) if i > 10]
二、生成器表达式:方括号变原括号
省内存,一次只产生一个值在内存中
l=('egg%s' %i for i in range(1000) if i > 10)
三、内置zip拉链
left='hello'
right={'x':1,'y':2,'z':3}
res=zip(left,right)
print(list(res))
四模块就一系统功能 的集合体,在python中,一个py 文件就是一个模块,比如module.py其模块名module
import 导入模块
创建一个模块的名称空间
执行模块对应文件,将产生的名字存放于1中的名称空间
在当前执行文件中拿到一个模块名,该模块名指向1的名称空间
sys.path的第一个路径是当前执行文件所在的文件夹
只会引用第一次导入的结果,不会重复执行文件
模块中功能的执行始终以模块自己的名称空间为准
模块可以起别名
一行导入多个模块
首次导入模块发生的三件事
1创建一个模块的名称空间
2执行模块对应文件,将产生的名字存放在1中的名称空间
from。。。。import。。与import前两件事一模一样
3、在当前名称空间中直接拿到模块中的名字,可以直接使用,不用加任何前缀
import 后面跟*取出模块内所有的函数
模块的查找顺序是:
1、内存中已经加载的模块
2、内置模块
3sys.path路径中包含的模块
import sys
sys.path append(r'D:codesh_fullstack_s1dir1')
if __name__ == '__main__':
print('文件被当中脚本执行啦。、。')
read1()
else:
print('文件被导入啦')
被其它调用就是当文件被导入,自己执行就是文件被当中脚本执行