23-导入模块
2.8 导入模块
Python程序可以调用一组基本的函数,这称为“内置函数”,包括你见到过的 print() 、 input() 和 len() 函数。Python也包括一组模块,称为“标准库”。每个模块都是一个Python程序,包含一组相关的函数,可以嵌入你的程序之中。例如, math 模块有与数学运算相关的函数, random 模块有与随机数相关的函数等。
在开始使用一个模块中的函数之前,必须用 import 语句导入该模块。在代码中, import 语句包含以下部分。
import关键字。- 模块的名称。
- 可选的更多模块名称,之间用逗号隔开。
在导入一个模块后,就可以使用该模块中所有的函数。让我们试一试 random 模块,它让我们能使用 random.randint() 函数。
在文件编辑器中输入以下代码,保存为printRandom.py:
import random
for i in range(5):
print(random.randint(1, 10))
不要覆写模块名
保存Python脚本时,请不要将它们命名为Python模块已经使用的名称,例如random.py、sys.py、os.py或math.py。如果不小心将其中一个程序命名为random.py,并在另一个程序中使用 import random 语句,那么程序将导入你的random.py文件,而不是Python的 random 模块。这可能导致错误,例如 AttributeError: module 'random' has no attribute 'randint' ,因为你的random.py没有真正的 random 模块具有的函数。也不要使用任何Python内置函数的名称,例如 print() 或 input() 。
诸如此类的问题很少见,但解决起来却很棘手。随着编程经验的增加,你会更加了解Python模块和函数使用的标准名称,遇到这些问题的频率会降低。
如果运行这个程序,输出看起来可能像下面这样:
4
1
8
4
1
可以在https://autbor.com/printrandom/上查看该程序的执行情况。 random. randint() 函数调用求值为传递给它的两个整数之间的一个随机整数。因为 randint() 属于 random 模块,所以必须在函数名称之前先加上 random. ,告诉Python在 random 模块中寻找这个函数。
下面是 import 语句的例子,它导入了4个不同的模块:
import random, sys, os, math
现在我们可以使用这4个模块中的所有函数。在本书后面,我们将学习更多的相关内容。