【问题标题】:Python 3 Syntax ChangesPython 3 语法更改
【发布时间】:2011-02-17 16:23:18
【问题描述】:

所以我使用旧版 Python 2 的工作正在进行一些代码更新,无论如何我只是在学习 python,实际上我在这里很新,但是从 2-->3 开始的主要语法变化是什么

或者真的有那么多语法变化吗(就像我知道 print 已经改变了,但还有什么主要的)

谢谢

【问题讨论】:

  • 对于随意使用,print 可能是您最会注意到的东西。如果您进行任何类型的 unicode 处理,那就大不相同了。除此之外,它应该主要是你可以很快习惯的东西。

标签: python syntax python-3.x python-2.x


【解决方案1】:

Python 3.0 的新功能:
http://docs.python.org/release/3.0.1/whatsnew/3.0.html

PEP:3000 - Python 3000:
http://www.python.org/dev/peps/pep-3000/

PEP:3099 - Python 3000 中不会改变的事情:
http://www.python.org/dev/peps/pep-3099/

【讨论】:

  • 第一个很重要。语义发生了一些变化 - 大多数应该导致代码快速失败(例如,使用 ziprange 的结果作为列表),但可能会有一些微妙的变化。
【解决方案2】:

你读过这个:Overview of Syntax Changes 吗?

【讨论】:

  • 是的,我阅读了概述,但它并没有真正说明具体细节
【解决方案3】:

在语法中真正注意到的是 print 语句和异常语法的变化。 2to3 将处理所有这些。

不过,这不会让您头疼。这些通常来自将字符串拆分为二进制字节和 Unicode 字符串。 2to3 无法处理。

所以语法的变化并不是你真正需要担心的。 :)

然后是语法上的一些细微变化,各种功能的大量小变化以及标准库的巨大重组,其中大部分是 2to3 处理的。

虽然我尝试在我的new book 中使用make one,但没有任何关于所有更改的规范摘要 afaik。可能会有一些失误,但你去吧。

【讨论】:

    【解决方案4】:

    您最好阅读文档:http://docs.python.org/release/3.1.2/whatsnew/ 非常简洁地涵盖了所有更改。首先阅读“Python 3.0 的新特性”部分了解主要变化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-25
      • 2014-01-30
      • 2013-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多