介绍
Python编程语言自带了各种 内置函数 。其中包括几个常见功能,包括:print()
打印表达式abs()
返回数字的绝对值int()
将另一种数据类型转换为整数len()
返回序列或集合的长度
.py
文件,由Python代码组成。 任何Python文件都可以作为模块引用。 一个名为
hello.py
的Python文件的模块名称为
hello
,可以导入其他Python文件或在Python命令行解释器上使用。 模块可以定义可以在其他Python
.py
文件或通过Python命令行解释器引用的函数,类和变量。 在Python中,使用
import
语句访问模块。当你这样做,你执行模块的代码,保持定义的范围,以便您的当前文件可以使用这些。 当Python导入一个名为
hello
的模块时,解释器将首先搜索一个名为
hello
的内置模块。 如果没有找到内置模块,Python解释器将在从
sys.path
变量接收的目录列表中搜索一个名为
hello.py
的文件。 本教程将引导您检查和安装模块,导入模块和别名模块。
检查和安装模块
Python标准库中内置了许多模块,其中包含许多模块,可提供对系统功能的访问或提供标准化解决方案。 Python标准库是每个Python安装的一部分。 要检查这些Python模块是否准备就绪,请进入 本地Python 3编程环境或 基于服务器的编程环境 ,然后在命令行中启动Python解释器,如下所示:python
在解释器中,您可以运行
import
语句以确保给定模块已准备好被调用,如:
import math
因为
math
是一个内置的模块,你的解释器应该完成任务没有反馈,返回到提示符。 这意味着你不需要做任何事情开始使用
math
模块。 让我们运行带有可能没有安装的模块的
import
语句,如2D绘图库
matplotlib
:
import matplotlib
如果没有安装matplotlib,你会收到这样的错误:
OutputImportError: No module named 'matplotlib'
您可以使用
CTRL + D
停用Python解释器,然后使用
pip
安装
matplotlib
。 接下来,我们可以使用
pip
来安装
matplotlib
模块:
pip install matplotlib
安装后,您可以使用import
matplotlib
在Python解释器中
import matplotlib
,它将
import matplotlib
完成。
导入模块
要使用模块中的函数,您需要使用import
语句导入模块。
import
语句由
import
关键字和模块的名称组成。 在Python文件中,这将在代码的顶部,任何shebang行或一般注释下声明。 因此,在Python程序文件
my_rand_int.py
我们将以这种方式导入
random
模块以生成随机数:
my_rand_int.py
import random
当我们导入一个模块时,我们将它作为一个单独的命名空间提供给我们当前的程序。这意味着我们将必须引用点表示法的函数,如
[module].[function]
。 在实践中,使用
random
模块的示例,这可能看起来像一个函数,如:
random.randint()
调用函数返回一个随机整数,或random.randrange()
调用函数从指定范围返回一个随机元素。
for
循环来显示我们如何在
my_rand_int.py
程序中调用
random
模块的函数:
my_rand_int.py
import random
for i in range(10):
print(random.randint(1, 25))
这个小程序首先在第一行上导入
random
模块,然后移动到使用10个元素的
for
循环。 在循环中,程序将打印1到25(含)范围内的随机整数。 整数
1
和
25
被传递给
random.randint()
作为其参数。 当我们使用
python my_rand_int.py
运行程序时,我们将接收10个随机整数作为输出。因为这些是随机的,你可能会得到不同的整数,每次你运行程序,但他们会看起来像这样:
Output6
9
1
14
3
22
10
1
15
9
整数不应小于1或大于25。 如果要使用多个模块的函数,可以通过添加多个
import
语句来实现:
my_rand_int.py
import random
import math
您可能会看到导入多个模块的程序使用逗号分隔它们 - 如
import random, math
- 但这与
PEP 8 Style Guide不一致。 为了使用我们的附加模块,我们可以将
math
中的常数
pi
加到程序中,并减少打印的随机整数的数量:
my_rand_int.py
import random
import math
for i in range(5):
print(random.randint(1, 25))
print(math.pi)
现在,当我们运行程序时,我们将得到如下的输出,pi的近似值作为最后一行输出:
Output18
10
7
13
10
3.141592653589793
import
语句允许您将一个或多个模块导入到Python程序中,让您使用这些模块中构建的定义。
使用from
... import
要引用程序命名空间中模块的项目,可以使用
from
...
import
语句。当您以这种方式导入模块时,可以按名称而不是通过点表示法引用函数 在此构造中,您可以指定要直接引用的定义。 在其他程序中,您可能会看到
import
语句通过使用星号(
*
)作为通配符来引用模块中定义的所有内容,但
PEP 8不鼓励这样做。 让我们先看看从
random
模块导入一个特定函数
randint()
:
my_rand_int.py
from random import randint
这里,我们首先调用
from
关键字,然后为模块
random
。 接下来,我们使用
import
关键字并调用我们想要使用的特定函数。 现在,当我们在程序中实现这个函数时,我们不再将函数以点表示法
random.randint()
,而只是写入
randint()
:
my_rand_int.py
from random import randint
for i in range(10):
print(randint(1, 25))
当你运行程序,你会收到类似我们以前收到的输出。 使用
from
...
import
构造允许我们在程序的命名空间中引用模块的定义元素,让我们避免点符号。
混叠模块
可以使用as
关键字在Python中修改模块及其函数的名称。 您可能想更改名称,因为您已经在程序中使用了相同的名称,您导入的另一个模块也使用该名称,或者您可能希望缩写一个较长的名称,以便使用很多。 此语句的构造如下所示:
import [module] as [another_name]
让我们在
my_math.py
程序文件中修改
math
模块的名称。 我们将
math
的模块名称更改为
m
,以便将其缩写。我们修改的程序将如下所示:
my_math.py
import math as m
print(m.pi)
print(m.e)
在程序中,我们现在将
pi
常数称为
m.pi
而不是
math.pi
对于一些模块,使用别名是很常见的。
matplotlib.pyplot
模块的官方文档要求使用
plt
作为别名:
import matplotlib.pyplot as plt
这允许程序员将较短的字
plt
附加到模块中
plt.show()
任何函数,如
plt.show()
。 您可以在我们的“
如何在Python中绘制数据3使用matplotlib
教程 ”中看到这个别名import语句。
结论
当我们导入模块时,我们能够调用不是Python内置的函数。一些模块作为Python的一部分安装,一些我们将通过pip
安装。 利用模块使我们能够使我们的程序更加健壮和强大,因为我们利用现有的代码。我们还可以为自己创建自己的模块,并让其他程序员在未来的程序中使用。