【问题标题】:How to Be Python 3 Ready?如何准备好 Python 3?
【发布时间】:2011-03-14 02:13:28
【问题描述】:

目前编写可以干净地通过2to3 的python 代码的规则是什么,哪些实践似乎最适合编写不会在版本2 中永远陷入困境的代码。

我从 SciPy/NumPy 论坛中读到“100% 测试覆盖率”(单元测试)对许多人来说很重要,但我不确定这是否适用于所有人。当然,在转换后有一组合理的单元测试来尝试你的代码,这似乎是一个明智的步骤。

还有其他的吗?如果熟练的 Pythonistas 正在编写他们希望在 2to3 过程中“干净”通过的 2.x 代码,他们会做什么。

我正在寻找“[不要] 这样做”的具体实例以及一些更一般的“最佳实践”,但“做与不做”的具体实例会有所帮助。

假设框架、库(Django、SciPy/NumPy)和我们需要的所有其他 C 扩展最终都移植到 Python3,我在问你如何编写和维护你自己编写的纯 Python 语言代码.

更新:我真正想要的可能是“样式指南”和每个人都已经远离的弃用功能列表。我在 Python 1.5 上咬牙切齿并移至 2.0,然后并没有真正遵循 2.5/2.6 时代,使用它们,但实际上我的代码更像是 2.1 时代。

【问题讨论】:

标签: python-3.x coding-style transitional


【解决方案1】:

我会说:

  • 阅读“What's new for Python 3.0”。信息量很大。
    • 特别是,如果您完全关心 Unicode 或文本编码,请花时间了解 3.x 的变化。对于 Python 3.x,这可能是需要更改的更棘手的事情之一。
  • 获取 Python 2.6 或 2.7,并使用 -3 标志运行您的代码。它会告诉您代码中需要更改的内容。
  • 在使用第 3 方包之前,请检查它们是否具有 Python 3.x 版本。如果没有,请检查软件包网站、邮件列表、版本控制存储库等,了解软件包的开发活跃程度以及是否有支持 Python 3.x 的路线图。
  • 下载 Python 3.x 并试用!诚然,如果您关心当前依赖于尚不支持 Python 3.x 的包(例如 wxPython 或 Django)的代码,这可能不切实际。

【讨论】:

    猜你喜欢
    • 2011-12-18
    • 2018-06-17
    • 2011-10-20
    • 2012-09-19
    • 2020-01-11
    • 2018-12-03
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多