python第十五天
什么是模块?
一系列功能的集合
定义模块?
创建一个py文件就是一个模块,该py文件名就是模块名
怎么使用模块?
在要是用的模块文件中通过import 模块名 来导入模块
模块的四种方式?
1、编译执行模块所对应的py文件,形成对应的pyc文件
2、产生该模块自己的全局名称空间
3、在适应该模块的全局名称空间中产生一个名字(导入的模块名)
模块的优点?
1、从文件级别组织代码,是同特性的功能能统一管理
2、可以使用系统或第三方模块,自高开发效率
注意事项?
1、每一个文件都会差生自己的全局名称空间,且相互不影响
2、多次导入,只会编译执行模块一次,将其加入到内存中,之后都是直接对名字的引用
起别名:
通过as关键字给模块起别名:模块名一旦起名,原模块名就不能再使用
起别名优点?
1、可以简化模块名字
2、可以统一功能
导入:
from导入?
from 模块名 import 名字1,名字2,名字n
#可以致命道姓导入模块中所想要导入的名字
from 模块名 import *
# 导入的模块是—all—这个列表
#1、系统默认该列表不会收入—开头的名字
#2、可以自定义——all——列表来规定外界通过*可以导入的名字
# 不建议直接导入* ,因为可读性差,且极容易出现变量重名
#别名
from 模块名 import 名字1 as 别名1,名字2 as 别名2
自执行与模块区别
__name__:
1、在py文件中作为模块被使用,__name__为模块名
2、在py文件自执行时,__name__为字符串‘__main__’
print("共有逻辑")
if __name__ == '__main__':
# 所有自执行的逻辑
print("m6: 我是自执行的")
a = 10 # 产生的是全局的名字
else:
# 所有模块的逻辑
print("m6: 我被导入执行的")
print(a) # 会报错:走else就不可能走if,所以a压根没产生