问:请介绍一下Python中的 import 机制
答:
import 语句结合了两个操作:1、它先搜索指定名称的模块 2、将搜索结果绑定到当前作用域中的名称。
如果指定名称的模块未找到,则会引发 ModuleNotFoundError
导入方法:
(1)# 导入一个模块
import model_name
(2)# 导入多个模块
import module_name1, module_name2,...
(3)# 导入模块中的指定的属性、方法(不加括号)、类
from moudule_name import moudule_element [as new_name]
(4)# 导入包
import package_name
【import的本质】
(1)"import module_name" 的本质
将"module_name.py"中的全部代码加载到内存,并赋值给名为 module_name 的变量,然后写在当前文件中,这个变量的类型是'module';
(2)"from module_name import module_element [as new_name]" 的本质
"from module_name import module_element [as new_name]" 的本质是导入指定的变量或方法到当前文件中
(3)"import package_name" 导入包的本质
"import package_name" 导入包的本质:执行该包下的__init__.py 文件,在执行文件后,会在"package_name"目录下生成一个"__pycache__ / __init__.cpython-35.pyc" 文件。(35的意思是python的版本为3.5.X)