lg04551

导航

 

一、列表生成式:生成许多值占内存

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:\code\sh_fullstack_s1\dir1')


if __name__ == '__main__':
print('文件被当中脚本执行啦。、。')
read1()
else:
print('文件被导入啦')
被其它调用就是当文件被导入,自己执行就是文件被当中脚本执行










posted on 2018-04-03 13:53  lg04551  阅读(78)  评论(0编辑  收藏  举报