简介
我们大多数人都熟悉Python作为一种编程语言。Python 3 的一大优点是它提供了无数的内置函数。当您使用 Python 3 编写不同类型的代码时,您就可以访问这些函数。在开始之前,请先阅读我们关于在 Ubuntu 16.04 上安装 Python 3 并设置本地编程环境的教程。现在,让我们来看看 Python 的一些实用函数:
print():此函数使您能够打印出表达式。abs():通过此函数,您可以获得任何数字的绝对值。int():此函数可让您将任何给定的数据类型转换为整数。len():它向您显示任何序列或集合的长度。
内置函数足够吗?
不幸的是,仅靠这些内置函数是不够的。在 Python 3 中编程时,您可能会发现自己需要更多的功能。您不想仅受限于程序的默认功能。这就是模块发挥作用的地方。
什么是模块?
模块允许您构建更复杂的程序。它们为您提供了更多选择和更大的发挥空间。模块通常由 Python .py文件组成。这些文件中的每一个都包含一些 Python 代码。您可以将任何 Python 文件作为模块进行引用。使用这些模块,您可以做各种事情。例如,您可以定义函数、类以及变量。您可以在其他 Python .py文件或通过命令行解释器中引用它们。
假设您有一个名为 hello.py 的 Python 文件。该文件的模块名称是 hello。您可以轻松地将此模块导入到其他 Python 文件中。您也可以在 Python 命令行解释器上使用它。在各种文件中导入模块的方法是使用 import语句。导入模块时,基本上是在执行该模块内部的代码。您正在使该模块中的定义可用于当前文件。
在这篇全面的指南中,我们将介绍如何在 Python 3 中检查和安装模块。我们还将讨论如何导入模块并为其设置别名.
如何检查模块?
正如我们之前提到的,Python 3 中有一些内置模块。这些模块可以在 Python 标准库中找到。该库包含几个执行一些基本系统功能和解决方案的标准模块。这是您在安装 Python.
时获得的默认功能。如果您需要检查这些模块是否已准备好使用,您需要输入一个命令。您需要进入本地 Python 3 编程环境或基于服务器的编程环境。然后,您必须在命令行中启动 Python 解释器。它看起来会像这样:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">cloudsigma@ubuntu:~$ python</span> |
现在,您可以运行 import语句。这将确认在需要时可以调用该模块。假设您使用 math 模块运行该命令:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import math</span> |
这个 math 模块是 Python 中的内置模块。这意味着解释器将在没有任何反馈的情况下完成任务。它将返回到提示符。您无需任何其他操作即可立即开始使用该模块。
如何安装模块?
另一方面,假设您想运行一个未安装的模块。在我们的示例中,我们将以 2D 绘图库 matplotlib 为例。以下是您如何使用此类模块运行 import语句:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import matplotlib</span> |
如果您没有安装该模块,您将收到如下错误:
|
1 2 3 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">输出 ImportError: No module named 'matplotlib'</span> |
要使其工作,您需要先停用 Python 解释器。您可以使用 CTRL + D。接下来,您必须安装 matplotlib,使用 pip:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">cloudsigma@ubuntu:~$ pip install matplotlib</span> |
现在您将能够成功导入 matplotlib 到解释器中,使用 import matplotlib 命令。这一次,它不会返回错误。
如何导入模块?
让我们探索如何导入模块。要使用其功能,您必须使用 import 语句。一个语句包含 import 关键字与模块名称配对。模块名称通常位于 Python 文件代码的顶部。
例如,如果您正在查看一个名为 my_rand_int.py 的 Python 文件,您将导入 random 模块来生成随机数:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import random</span> |
您必须以点表示法引用该函数。它看起来像这样:[module].[function]。它基本上意味着您可以将该模块用作当前文件中的独立命名空间。
继续讨论该模块,让我们来看一些函数:
random.randint():此函数将返回一个随机整数。random.randrange():此函数将从给定范围返回一个随机元素。让我们看看如何制作一个for循环。我们将为random模块调用其中一个函数,我们的当前程序是my_rand_int.py:
|
1 2 3 4 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import random for i in range(10): print(random.randint(1, 25))</span> |
for 循环。如您所见,该循环将处理 10 个元素。程序将打印出 1 到 25(含)范围内的随机整数。这意味着整数 1 和 25 是 random.randint().
现在,当您使用 python my_rand_int.py 运行程序时,您将在输出中得到 10 个随机整数,如下所示:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">输出 6 9 1 14 3 22 10 1 15 9</span> |
由于我们使用了 random 模块,您每次都会得到新的整数。然而,它们不会超过或低于 25。有时,您也可以同时使用多个 import 语句,如下所示:
|
1 2 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import random import math</span> |
我们将通过添加 pi(来自 math)到程序中来使用我们的额外模块。我们也会减少随机整数的数量:
|
1 2 3 4 5 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import math import random for i in range(5): print(random.randint(1, 25)) print(math.pi)</span> |
现在我们的输出将如下所示:
|
1 2 3 4 5 6 7 8 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">输出 18 10 7 13 10 3.141592653589793</span> |
我们得到了五个随机整数和圆周率(pi)的近似值。
如何使用 from….import?
除了 import,你还应该了解另一个语句,即 from … import。当你不想使用点号表示法来引用函数时,这非常有用。这样,你就可以直接通过名称调用函数并指定引用。在这个例子中,我们将导入 randint() 函数,它来自 random 模块:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">from random import randint</span> |
我们直接指定了想要调用的函数。即使在我们的程序中,我们也只需要提及函数名称,而不需要使用点号表示法:
|
1 2 3 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">from random import randint for i in range(10): print(randint(1, 25))</span> |
输出将与您在上面看到的相同。区别在于,您现在可以完全避免使用点号表示法。
如何为模块设置别名?
您还应该熟悉 as 关键字。使用此关键字,您可以更改模块名称及其函数。如果您已有或新导入的模块使用了相同的名称,您可能需要这样做。用于设置模块别名的语句如下所示:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import [module] as [another_name]</span> |
在我们的示例中,我们将修改 math 模块的名称。我们将对其进行缩写并将其更改为 m。程序将如下所示:
|
1 2 3 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import math as m print(m.pi) print(m.e)</span> |
如您所见,我们没有将 pi 引用为 math.pi,而是将其调用为 m.pi.
某些模块有官方别名。这是因为人们非常习惯使用别名而不是其实际名称。以 matplotlib.pyplot 模块为例。在官方文档中,它的别名是 plt。您可以像这样设置别名:
|
1 |
<span style="font-family: georgia, palatino, serif; font-size: 12pt;">import matplotlib.pyplot as plt</span> |
结论
添加和导入模块的能力确实扩展了 Python 编程的世界。它使您能够超越仅仅使用内置函数。您可以同时使用默认的 Python 模块以及使用 pip 安装的模块。在创建更复杂或更高级的项目时,请务必利用此功能。它能让您的工作变得更轻松,激发创造力,并有助于构建强大的程序。
最后,这里有一些来自我们博客的更多资源,将帮助您进一步利用 Python:
祝您编程愉快!
评论
暂无评论。发表第一条评论吧。