Python程序设计(微课版)
上QQ阅读APP看书,第一时间看更新

1.5.1 库的导入

Python本身内置了很多功能强大的库,如数学函数math库、绘制图形的turtle库等。Python导入库(模块、包)的方式有两种,普通导入和使用from语句导入。

1.普通导入

普通导入是最常见的导入方式之一,导入语法格式如下:

import 库名 [as 别名]

采用这种方式导入后,使用时需要在库的对象之前加上库名作为前缀,即以“库名.对象名”的形式使用。如果程序员觉得库名太长书写不便,可以为导入的库设置一个别名,然后以“别名.对象名”的形式使用对象。示例如下:

>>>import math
>>>math.pow(3, 4) #计算3的4次方
81.0
>>>import math as m
>>>m.exp(3) #计算自然对数的底数e的3次方
20.085536923187668

2.使用from语句导入

在编写代码过程的中,如果只使用到库中个别或极少数对象,可以采用from语句只导入自己需要的对象。导入语法格式如下:

from 库名 import 对象名 [as 别名]

使用from语句可以明确从库中导入的具体对象,这样可以减少资源加载,提高访问速度,同时也能减少程序员输入的代码量。示例如下:

>>>from math import gcd #导入math库中的gcd()函数
>>>gcd(16, 24) #求两个数的最大公约数
8
>>>from math import sin, cos #同时导入两个函数
>>>sin(1), cos(1) #分别求1的正弦值和余弦值
(0.8414709848078965, 0.5403023058681398)
>>>from math import factorial as f #给函数设置别名
>>>f(4) #求4!
24

上面的方法只导入了库中的部分对象,还可以将库中所有对象一次性导入。导入语法格式如下:

from 库名 import *

导入之后,可以直接使用库中的所有对象而不需要加库名。示例如下:

>>>from math import *
>>>pow(2, 3), exp(1), sin(0), cos(0) #都不需要加库名
(8.0, 2.718281828459045, 0.0, 1.0)

虽然这种方法可以一次性导入库中所有对象,但一般不推荐使用。因为这样导入很难区分函数是库中的函数还是用户自定义的函数,并且如果导入的多个库中有相同的对象名,会导致命名空间混乱。对Python解释器来说,只有最后一个导入库中的对象才是有效的,而之前导入的同名对象则无法访问。