Python导入标准库和扩展库对象的几种方式

栏目: IT技术资讯 发布于: 2017-01-12 00:39:44

Python中的对象大概可以分为三类:内置对象、标准库对象和扩展库对象。其中内置对象是直接编译进解释器的可以直接使用,没有对应的Python源代码;标准库对象是随Python安装的,但是需要导入才能使用,相应的Python源代码在安装目录中的Lib目录中;扩展库需要单独安装之后再导入才能使用,其Python源代码在安装目录的Lib\site-packages目录中,也有一些扩展库的核心代码编译成为dll或pyd的动态链接库。关于扩展库的安装请参考Python扩展库安装工具pip的高级用法Python安装扩展库与打包成exe可执行文件的方法

本文重点介绍标准库对象和扩展库对象的导入和使用。

1)import 模块名 [as 别名]

使用这种方式导入以后,使用时需要在对象之前加上模块名作为前缀,必须以“模块名.对象名”的形式进行访问。如果模块名字很长的话,可以为导入的模块设置一个别名,然后使用“别名.对象名”的方式来使用其中的对象。
>>> import math     #导入标准库math
>>> math.sin(0.5)    #求0.5(单位是弧度)的正弦
0.479425538604203

2)from 模块名 import 对象名[ as 别名]
使用这种方式仅导入明确指定的对象,并且可以为导入的对象起一个别名。这种导入方式可以减少查询次数,提高访问速度,同时也可以减少程序员需要输入的代码量,不需要使用模块名作为前缀。

>>> from math import sin    #只导入模块中的指定对象
>>> sin(3)
0.1411200080598672
>>> from math import sin as f    #给导入的对象起个别名
>>> f(3)
0.1411200080598672

3)from 模块名 import *

这是上面用法的一种极端情况,可以一次导入模块中通过__all__变量指定的所有对象。
>>> from math import *  #导入标准库math中所有对象
>>> sin(3)   #求正弦值
0.1411200080598672
>>> gcd(36, 18)   #最大公约数
18

4)模块导入时的搜索路径

不管以哪种形式导入模块并使用其中的对象,Python首先在当前目录中查找需要导入的模块文件,如果没有找到则从sys模块的path变量所指定的目录中查找,如果仍没有找到模块文件则抛出异常提示模块不存在。可以查看sys模块中path变量的值来获知Python导入模块时搜索模块的路径,也可以使用append()方法向其中添加自定义的文件夹以扩展搜索路径。

Python还支持从zip文件中导入模块。假设当前文件夹中有个内含Vector3.py文件的testZip.zip文件,首先导入sys模块,然后执行sys.path.append(‘testZip.zip’),然后即可导入Vector3.py文件作为模块来使用。
>>> import sys
>>> sys.path.append('testZip.zip')
>>> import Vector3
>>> Vector3.__file__    #查看已导入模块对应的程序文件
'testZip.zip\\Vector3.py'

本文转载于微信公众号: Python小屋(Python_xiaowu),更多微信文章请扫描关注公众号:

Python小屋

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。
转载请注明:文章转载自 [http://www.php230.com]
本文标题:Python导入标准库和扩展库对象的几种方式
IT技术书籍推荐:
利用Python进行数据分析
利用Python进行数据分析
麦金尼 (Wes McKinney) (作者), 唐学韬 (译者), 等 (译者)
《利用Python进行数据分析》内容简介:学习NumPy(NumericalPython)的基础和高级知识;从pandas库的数据分析工具开始利用高性能工具对数据进行加载、清理、转换、合并以及重塑;利用matpIotlib创建散点图以及静态或交互式的可视化结果;利用pandas的groupby功能对数据集进行切片、切块和汇总操作;处理各种各样的时间序列数据。
最新互联网资讯
互联网资讯