Size: 997
Comment:
|
Size: 1983
Comment: python3000中最喜欢的三个大变化
|
Deletions are marked like this. | Additions are marked like this. |
Line 8: | Line 8: |
* [wiki:peps/pep-3104/ PEP 3104] -- Access to Names in Outer Scopes 这算是个老问题了: {{{#!python a = 1 def test1(): a = 2 def test2(): #目前的python版本中,这里无法修改 test1 中的那个 a。 }}} 而 python3000 中有望通过使用 nonlocal 关键字访问外层名字空间: {{{#!python a = 1 def test1(): a = 2 def test2(): nonlocal a = 3 # 这样就把 test1 中的 a 修改了。 }}} nonlocal 会从最靠近的名字空间不断向外搜索。 * [wiki:peps/pep-3107/ PEP 3107] -- Function Annotations 可以可选地给函数添加元数据,利用这些元数据可以干很多事情,比如文档生产、类型检查、方便与静态语言之间的交互等等,看个例子: {{{#!python def foo(a: 'x', b: 5 + 6, c: list) -> max(2, 9): ... }}} * [wiki:peps/pep-3108/ PEP 3108] -- Standard Library Reorganization 重新组织标准库,主要是删除和重命名。 |
即将到来的 Python 3000 ::-- ["swordsp"] [DateTime] TableOfContents
概述
- [wiki:peps/pep-3000/ PEP 3000] -- Python 3000
- [wiki:peps/pep-3099/ PEP 3099] -- Things that will Not Change in Python 3000
- [wiki:peps/pep-3100/ PEP 3100] -- Miscellaneous Python 3.0 Plans
- [wiki:peps/pep-3104/ PEP 3104] -- Access to Names in Outer Scopes
这算是个老问题了:
而 python3000 中有望通过使用 nonlocal 关键字访问外层名字空间:
nonlocal 会从最靠近的名字空间不断向外搜索。
- [wiki:peps/pep-3107/ PEP 3107] -- Function Annotations
可以可选地给函数添加元数据,利用这些元数据可以干很多事情,比如文档生产、类型检查、方便与静态语言之间的交互等等,看个例子:
- [wiki:peps/pep-3108/ PEP 3108] -- Standard Library Reorganization
重新组织标准库,主要是删除和重命名。
进展
来自 [http://www.artima.com/weblogs/index.jsp?blogger=guido Guido van Rossum 个人 blog] 的关于 Python 3000 开发进度和展望的最新消息
[http://www.artima.com/weblogs/viewpost.jsp?thread=98196 The fate of reduce() in Python 3000]
[http://www.artima.com/weblogs/viewpost.jsp?thread=155123 Python 3000 - Adaptation or Generic Functions?]
[http://www.artima.com/weblogs/viewpost.jsp?thread=157004 Python 3000 Slides]
Guido 于2006年4月在某次会议上的讲稿。[http://www.python.org/doc/essays/ppt/accu2006/Py3kACCU.ppt 下载]
[http://www.artima.com/weblogs/viewpost.jsp?thread=173453 Python Sprint Report]