【Python】python模块相关

1pythonimport导入一个模块时,搜索路径可通过环境变量PYTHONPATH(如果设置了的话)查看或修改,该变量的内容是一组用冒号分割的目录路径,也可以通过sys.path查看或修改,它是包含每个独立路径的列表。sys.modules是一个字典,使用模块名作为键,对应物理地址作为值。import语句的模块顺序一般为:标准库模块、第三方模块、自定义模块。import语句可以导入整个模块,from-impot语句则导入模块中具体的属性,还可以在导入语句最后添加关键字as来起个别名。另外,模块可以从普通的目录导入,也可以从归档文件(.zip文件)导入。

import module [as xxx]
from module import name [as xxx]
from module import *
from __future__ import xxx

2__builtins__模块和__builtin__模块不同,前者包含内建名称空间中内建名称的集合,可能全部来自后者,后者包含内建函数、异常以及其它属性。

3、访问一个属性时,解释器首先从局部名称空间查找,然后依次是全局名称空间内建名称空间,直到找到为止,如果最后还没有找到的话,会发生NameError异常。也就是说,先查找的名称空间会覆盖后查找的名称空间中的属性。不过,加载属性时,先加载内建属性,然后是全局属性,最后是局部属性。

4、模块内建函数有哪些?

__import__():导入模块函数,import语句调用这个函数完成工作。

globals():返回调用者全局名称空间的字典。

locals():返回调用者局部名称空间的字典。

reload():重新导入一个已经导入的模块。

5——包是一个有层次的文件目录结构,它定义了一个由模块和子包组成的python应用程序执行环境。包目录要加入__init__.py文件用于初始化模块,以及__all__变量定义导入的内容。导入模块时,支持绝对导入和相对导入。

6、如果不想让某个模块属性被“from module import *导入,可以给不想导入的属性名称前加上一个下划线

7、不同操作系统的文件系统对大小写区分可能是不一样的,如果python在不区分大小写的情况下依然能够正常导入模块,必须指定一个叫做PYTHONCASEOK的环境变量。

8python2默认编码格式为ASCII,其它格式(如UTF-8)可通过如下方式指定:

#!/usr/bin/env python
#-*- coding: UTF-8 -*-

或者:

#coding=UTF-8
python3默认为UTF-8。

9、类似于C/C++头文件的交叉includepython会有导入循环的情况,解决这个问题几乎总是移除其中一个导入语句,在别的地方导入模块,而非文件一开始的地方。

10、相关模块

imp:提供了一些底层的导入者功能。

modulefinder:可以查找python脚本所使用的所有模块。

pkgutil:提供了多种把python包打包为一个“包”文件分发的方法。类似site模块,它使用*.pkg文件帮助定义包的路径,类似site模块使用的*.pth文件。

site:和*.pth文件配合使用,指定包加入python路径的顺序。

zipimport:导入zip归档文件中的模块,该功能已经自动开启,所以并不需要在任何地方导入这个模块。

distutils:该模块提供了对建立、安装、分发python模块和包的支持,它还可以帮助建立使用C/C++完成的python扩展。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值