1.模块
模块可以认为是一个py文件. 模块实际上是我们的py文件运行后的名称空间
导入模块:
1. 判断sys.modules中是否已经导入过该模块
2. 开辟一个内存
3. 在这个内存中执行该py文件
4. 给这个内存起个名字, 一般用的是py文件的名字。返回给导入方
如果你的py文件是启动文件, 名字是__main__
程序的入口一般是:
if __name__ == "__main__":
pass
2. import
import 模块名
模块名.属性/方法/类
每个模块都有自己的独立的名称空间,每个都有一个global, 互相并不影响
模块.属性 = 值. # 不要这么干
3. from xxx import xxx
from 模块 import 函数/变量
当作自己的变量或者函数来使用
from xxx import * 导入所有
导入的内容都可以起别名 as
如果我们在不同的模块中引入了同⼀个模块. 并且在某⼀个模块中改变了被引入模块中的全局变量. 则其他模块看到的值也跟着边. 原因是python的模块只会引入⼀次. ⼤家共享同⼀个名称空间
正确的导入模块的顺序:
1. 所有的模块导入都要写在最上⾯. 这是最基本的
2. 先引入内置模块
3. 再引入第三方模块
4. 最后引入你⾃⼰定义的模块
当我们从⼀个模块中引入⼀个变量的时候. 如果当前⽂件中出现了重名的变量时. 会覆盖掉模块引入的那个变量.所以. 不要重名. 切记. 不要重名! 不仅仅是变量名不要重复. 我们⾃⼰
创建的py⽂件的名字不要和系统内置的模块重名. 否则. 引入的模块都是python内置的模块. 切记, 切记.