上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解释器来说,只有最后一个导入库中的对象才是有效的,而之前导入的同名对象则无法访问。