9

Python 中的许多有用的特性都有些“隐藏”在模块中。例如,命名元组(Python 2.6中的新功能)可以在collections模块中找到。

图书馆文档页面将为您提供该语言的所有模块,但 Python 新手可能会发现自己说“哦,我不知道我可以使用 Python 以这种方式完成它!” 除非有经验的开发人员指出语言中的重要特性。

并不是专门寻找 Python 2.6 中的新模块,而是在这个最新版本中可以找到的模块。

4

4 回答 4

12

最令人印象深刻的新模块可能是multiprocessing模块。首先是因为它允许您在新进程中执行函数,并且使用与threading模块大致相同的 API。但更重要的是,因为它引入了许多用于进程之间通信的优秀类,例如一个Queue类和一个Lock类,它们的使用就像这些对象在多线程代码中一样,以及其他一些用于在进程之间共享内存的类。

您可以在http://docs.python.org/library/multiprocessing.html找到文档

于 2008-10-03T20:31:13.133 回答
6

模块对网络程序员来说是一个真正的福音!!json(它simplejson在被合并到标准库之前就是众所周知的。)

它非常易于使用:json.dumps(obj)将内置类型的 Python 对象编码为 JSON 字符串,同时json.loads(string)将 JSON 字符串解码为 Python 对象。

真的很方便。

于 2008-10-03T20:39:54.363 回答
5

可能是PEP 06312.6 中的新增功能可以提供答案元素。最后一篇文章解释了 2008 年 10 月 1 日发布的 Python 2.6 中的新功能。

于 2008-10-03T20:30:29.390 回答
3

基本库

对于从另一种语言到 Python 的经验丰富的程序员来说,主要挑战是弄清楚一种语言如何映射到另一种语言。以下是一些基本库以及它们与 Java 等价物的关系。

os, os.path 

具有 java.io.File、java.lang.Process 等功能。但更干净、更复杂,带有 Unix 风格。使用 os.path 而不是 os 以获得更高级别的功能。

sys 

操作 sys.path(类似于类路径),注册退出处理程序(如在 java Runtime 对象中),并访问标准 I/O 流,如在 java.lang.System 中。

unittest 

非常相似(并且基于)jUnit,带有测试装置和可运行的线束。

logging 

功能几乎与带有日志级别和记录器的 log4j 相同。(日志也在标准 java.util.Logging 库中)

datetime  

允许解析和格式化日期和时间,如 java.text.DateFormat、java.util.Date 和相关。

ConfigParser  

允许在 java 属性文件中进行持久配置(但也允许嵌套)。当您不希望 XML 或数据库后端的复杂性时使用它。

socket, urllib 

与 java.net 中的功能类似,用于处理套接字或通过 URL/URI 检索内容。

另外,请记住,许多基本功能,例如读取文件和使用集合,都在核心 python 语言中,而在 Java 中它存在于包中。

于 2008-12-02T20:24:27.007 回答