Python中的import是怎么实现的?

基本概念

模块(module):其实就是一个py文件,里面定义了各种变量,函数,类。

模块除了内建模块(可以用过dir(__builtins__)查看有哪些内建函数),就是非内建模块,这一部分模块就需要用import导入。非内建模块经常需要按照第三方库,一般第三方模块在"安装路径\Python\Python35\Lib\site-packages"目录下。

包(package):一个有层次结构的文件目录,里面包含了模块和一些子包,要求包中必须带有一个__init__.py文件。

图片[1]-Python中的import是怎么实现的?-uusu优素-乐高,模型,3d打印,编程

导入方法:

  importmodule_name
  frommodule_nameimportmodule_element

不难理解,该过程把module_name.py文件的全部内容加载到内存,把变量类型为’module‘赋值给当前模块的同名变量。

在导入模块时。模块所在文件夹将自动生成一个对应的__pycache__\module_name.cpython-36.pyc文件

怎么加载?——加载方式和用法

方式:

1.import package

读这个包的__init__.py,也就是说导入包的本质是执行包下面的__init__.py文件,执行结束后会包名的目录下生成一个"__pycache__ / __init__.cpython-36.pyc" 文件。

2.import module

读整个模块的内容

3.import package1.package2.package3.module4

package读取__init__.py,module读取整个模块内容,按顺序读

注意:因为package是读取__init__.py,所以调用的时候必须在__init__.py有引用的东西才能调用,否则会报错。

从哪里加载?

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容