Python中是怎么实现import的-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

站在用户的角度思考问题,与客户深入沟通,找到开原网站设计与开原网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、做网站、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖开原地区。

这期内容当中小编将会给大家带来有关Python中是怎么实现import的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

基本概念

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

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

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

导入方法:

  import module_name
  from module_name import module_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有引用的东西才能调用,否则会报错。

从哪里加载?

对于python来说,所有被加载到内存的模块都是放在sys.modules里面,所以执行import时会首先去该列表中查询是否已添加。如果已经在sys.modules中,那就简单了,只需要将该module的name添加到我们正在调用该module的本地空间中。如果还没有放在sys.modules中,就需要在sys.path所有路径的目录中去按顺序查找该模块的文件,这些文件一般后缀为".py"、".pyo"、".pyc"、".pyd"、".dll",找到这些模块后就可以将这些模块添加到sys.modules中,再将module name导入到本地。

上述就是小编为大家分享的Python中是怎么实现import的了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道。


新闻名称:Python中是怎么实现import的-创新互联
当前链接:http://scyanting.com/article/dpppod.html