imopt与from的区别以及重载模块
- import是导入模块中的数据,数据存在时则是引用内存中的数据
- from是重新导入创建一份新的数据,可以简单理解成深拷贝
- 当多模块需要共用一个数据时,必须使用import导入
- 当模块文件发生修改后,可以使用reload重载模块对象,reload(需要重载的模块名)
- import sys 使用sys.path可以查看导入查询路径,默认优先使用当前路径
- sys.path.append('路径') 或insert(下标,'路径')添加新的模块路径,可以确保先查询这个路径
- 要避免使用了相同的模块名,导致导入意料之外的数据
模块
导入的五种方式
- import 模块名
- from 模块名 import 功能名
- from 模块名 import *
- import 模块名 as 别名
- from 模块名 import 功能名 as 别名
新建模块
使用__name__变量来写测试模块
if __name__=="__main__":
__all__
模块中,__all__=[...],__all__以列表的形式存储了*可导入的功能和元素
包
定义
__init__ . py文件 控制着包的导入行为
__all__变量(__init__.py文件中定义),控制着from 包名 import *导入的模块
导入
import 文件夹,模块 (包本质上就是文件夹)
from 包 import 参数或类