Python 3.4.0 发布,此版本包括一系列 3.x 系列的改进,数百个小的改进和 bug 修复。
值得注意的更新内容如下:
新语法特性:
Python 3.4 并未添加任何新的语法特性
其他新特性:
Newly created file descriptors are non-inheritable(PEP 446).
command line option for isolated mode(issue 16499).
improvements in the handling of codecsthat are not text encodings (multiple issues).
A ModuleSpec Type for the Import System (PEP 451). (Affects importer authors.)
The marshal format has been made more compact and efficient (issue 16475).
新的库模块:
asyncio: New provisional API for asynchronous IO (PEP 3156).
selectors: High-level and efficient I/O multiplexing, built upon the select module primitives (part of PEP 3156).
statistics: A basic numerically stable statistics library (PEP 450).
库模块中重大的改进:
New pickle protocol 4 (PEP 3154).
multiprocessing now has an option to avoid using os.fork on Unix (issue 8713).
email has a new submodule, contentmanager, and a new Message subclass (EmailMessage) that simplify MIME handling (issue 18891).
The inspect and pydoc modules are now capable of correct introspection of a much wider variety of callable objects, which improves the output of the Python help() system.
The ipaddress module API has been declared stable
安全改进:
Make newly created file descriptors non-inheritable(PEP 446) to avoid leaking file descriptors to child processes.
New command line option for isolated mode, (issue 16499).
multiprocessing now has an option to avoid using os.fork on Unix. spawn and forkserver are more secure because they avoid sharing data with child processes.
multiprocessing child processes on Windows no longer inherit all of the parent’s inheritable handles, only the necessary ones.
A new hashlib.pbkdf2_hmac() function provides the PKCS#5 password-based key derivation function 2.
Retrieving certificates from the Windows system cert store support for ssl.
The ssl.SSLContext class has a lot of improvements.
All modules in the standard library that support SSL now support server certificate verification, including hostname matching (ssl.match_hostname()) and CRLs (Certificate Revocation lists, seessl.SSLContext.load_verify_locations()).
CPython 实现改进:
Leveraging PEP 442, in most cases module globals are no longer set to None during finalization (issue 18214).
其他的还包括许多 CPython 的优化,用法和潜在移植问题,更多内容请看发行说明,新特性介绍或者是更新日志,可以在这里下载最新版本。
(文/开源中国)