## Python 标准库
Python标准库是一组模块,安装的Python都包含它。你现在对类的工作原理已有大致的了解,可以开始使用其他程序员编写好的模块了。可使用标准库中的任何函数和类,为此只需在程序开头包含一条简单的import语句。下面来看模块collections中的一个类——OrderedDict。
字典让你能够将信息关联起来,但它们不记录你添加键—值对的顺序。要创建字典并记录其中的键—值对的添加顺序,可使用模块collections中的OrderedDict类。 OrderedDict实例的行为几乎与字典相同,区别只在于记录了键—值对的添加顺序。
我们再来看一看第6章的favorite\_languages.py示例,但这次将记录被调查者参与调查的顺序:
```
favorite_languages.py
from collections import OrderedDict
favorite_languages = OrderedDict()
favorite_languages['jen'] = 'python'
favorite_languages['sarah'] = 'c'
favorite_languages['edward'] = 'ruby'
favorite_languages['phil'] = 'python'
for name, language in favorite_languages.items():
print(name.title() + "'s favorite language is " +
language.title() + ".")
```
我们首先从模块collections中导入了OrderedDict类。我们创建了OrderedDict类的一个实例,并将其存储到favorite\_languages中。请注意,这里没有使用花括号,而是调用OrderedDict()来创建一个空的有序字典,并将其存储在favorite\_languages中。接下来,我们以每次一对的方式添加名字—语言对(见)。在处,我们遍历favorite\_languages,但知道将以添加的顺序获取调查结果:
```
Jen's favorite language is Python.
Sarah's favorite language is C.
Edward's favorite language is Ruby.
Phil's favorite language is Python.
```
这是一个很不错的类,它兼具列表和字典的主要优点(在将信息关联起来的同时保留原来的顺序)。等你开始对关心的现实情形建模时,可能会发现有序字典正好能够满足需求。随着你对标准库的了解越来越深入,将熟悉大量可帮助你处理常见情形的模块。
注意 你还可以从其他地方下载外部模块。本书第二部分的每个项目都需要使用外部模块,届时你将看到很多这样的示例。