python 使用标准库

1,002 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第16天,点击查看活动详情

python 使用标准库

Python与大量类和函数一起打包,称为标准库。这就是为什么Python经常被描述为包含电池的原因,因为您可以利用Python专家编写的代码来执行从三角学到下载网页和发送电子邮件的所有操作。库被组织成模块或包,每个模块或包都有特定的用途。您可以通过导入这些模块来使用这些模块,就像坦克游戏(参见清单 2-7)导入 Tank 类一样。

当您在Python中导入某些内容时,它将首先在当前目录中查找相应的Python文件。如果找不到,Python将在标准库中查找模块。

让我们来看看标准库中的几个模块。我们无法涵盖所有内容 - 这本身就需要一本书 - 但是如果您需要有关任何模块的更多信息,请查看Python发行版附带的文档或在线浏览它们 docs.python.org/3.4/library…

有几种方法可以从自己的代码或标准库中导入内容。使用哪种方法取决于您希望如何访问模块中包含的类和函数。可以使用 import 关键字导入模块,后跟模块的名称。例如,以下行将导入一个名为 mymodule 的模块:

import mymodel

以这种方式导入模块将创建一个新的命名空间,这意味着您需要在使用的任何类或函数之前键入模块的名称和一个点。例如,如果 mymodule 中有一个名为 myfun 函数的函数,您可以这样称呼它:

mymodule.myfunction()

这是从标准库导入模块的常用方法,因为它使每个模块中的内容保持独立;如果您在不同的模块中有另一个名为 myfunction 的函数,则不会混淆正在调用哪个函数。也可以使用 from 语句从模块导入特定的类或函数。以下行将 myclass 从 mymodule 导入到当前命名空间:

from mymodel import myclass 

如果您只想从模块中获取一些内容,并且您知道它们的名称不会与脚本中的其他任何内容冲突,请使用此方法。您可以通过在每个类、函数等之间添加逗号来导入多个类、函数等。因此,从 mymodule 导入 myclass,我的函数将从 mymodule 类导入两个东西。可以使用 * 符号来表示要将模块中的所有内容导入到当前命名空间中。例如,以下行会将所有内容从 mymodule 导入到当前命名空间:

from mymodel import *

此导入方法节省了键入时间,因为您不需要模块的名称来引用它 - 但仅当模块包含少量内容并且您知道名称不会与脚本中的其他类或函数冲突时才使用此方法。数学模块是这种导入的良好候选者。

最后,您还可以使用单词 as 从模块中导入模块或函数来更改关联的名称。例如:

import mymodel as mm

现在,无需键入 mymodule 来引用模块,只需键入 mm 即可。您也可以使用从模块导入的函数来执行此操作。