Python的基础—import介绍

一、import导入的类型:
1、模块文件(.py、.pyo、.pyc、.pyd、.so、.dll)
2、包(包含多个模块)
3、内建模块(使用C编写并已链接到Python解释器中)
二、import导入的路径:
解释器按照sys.path列表中的目录顺序来查找导入文件

其中list第一个元素空字符串代表当前目录。

>>> import sys
>>> print sys.path
['', '/home/admin/anaconda2/lib/python27.zip', '/home/admin/anaconda2/lib/python2.7', '/home/admin/anaconda2/lib/python2.7/plat-linux2', '/home/admin/anaconda2/lib/python2.7/lib-tk', '/home/admin/anaconda2/lib/python2.7/lib-old', '/home/admin/anaconda2/lib/python2.7/lib-dynload', '/home/admin/anaconda2/lib/python2.7/site-packages', '/home/admin/anaconda2/lib/python2.7/site-packages/Sphinx-1.4.6-py2.7.egg', '/home/admin/anaconda2/lib/python2.7/site-packages/setuptools-27.2.0-py2.7.egg']

三、import工作流程:
1.已导入模块的名称创建新的命名空间,通过该命名空间就可以访问导入模块的属性和方法。
2.在新创建的命名空间中执行源代码文件。
3.创建一个名为源代码文件的对象,该对象引用模块的名字空间,这样就可以通过这个对象访问模块中的函数及变量
四、import查看导入的包:

sys.modules字典中保存着所有被导入模块的模块名到模块对象的映射。

>>> print sys.modules
{'copy_reg': <module 'copy_reg' from '/home/admin/anaconda2/lib/python2.7/copy_reg.pyc'>, 'sre_compile': <module 'sre_compile' from '/home/admin/anaconda2/lib/python2.7/sre_compile.pyc'>, '_sre': <module '_sre' (built-in)>, 'encodings': <module 'encodings' from '/home/admin/anaconda2/lib/python2.7/encodings/__init__.pyc'>}
五、import导入的命名空间:
import package.api # 将模块package.api导入全局命名空间,例如访问api中属性时用package.api.execute
from package import api # 将模块api导入全局命名空间,例如访问api中属性时用api.execute
from package.api import execute  # 将模块api的属性直接导入到命名空间中,例如访问api中属性时直接用execute
使用from语句可以把模块直接导入当前命名空间,from语句并不引用导入对象的命名空间,而是将被导入对象直接引入当前命名空间。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值