Python中的许多有用功能在模块中有些“隐藏”。例如,在Python 2.6模块中可以找到命名元组(collections中的新元组)。
Library Documentation page将为您提供该语言的所有模块,但Python的新手可能会发现自己说“哦,我不知道我可以这样做这样使用Python!“除非有经验的开发人员指出该语言的重要特征。
我不专门在Python 2.6中寻找新模块,但可以在最新版本中找到模块。
答案 0 :(得分:12)
最令人印象深刻的新模块可能是multiprocessing
模块。首先是因为它允许您使用与threading
模块大致相同的API,在新流程中执行功能。但更重要的是因为它引入了许多用于进程之间通信的优秀类,例如Queue
类和Lock
类,每个类都使用,就像那些对象一样,将是多线程代码,以及其他一些用于在进程之间共享内存的类。
答案 1 :(得分:6)
new json
module对网络程序员来说真是太棒了! (在合并到标准库之前,它被称为simplejson
。)
使用起来非常简单:json.dumps(obj)
将内置类型的Python对象编码为JSON字符串,而json.loads(string)
将JSON字符串解码为Python对象。
真的很方便。
答案 2 :(得分:5)
可以是PEP 0631,What's new in 2.6可以提供答案元素。最后一篇文章解释了2008年10月1日发布的Python 2.6中的新功能。
答案 3 :(得分: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和logger几乎完全相同。 (日志记录也在标准的java.util.Logging库中)
datetime
允许解析和格式化日期和时间,例如java.text.DateFormat,java.util.Date和相关内容。
ConfigParser
允许在java Properties文件中进行持久配置(但也允许嵌套)。当您不想要XML或数据库后端的复杂性时,请使用此方法。
socket, urllib
与java.net中的功能类似,用于处理套接字或通过URL / URI检索内容。
另外,请记住,许多基本功能(如读取文件和使用集合)都在核心python语言中,而在Java中则存在于包中。