• 技术文章 >常见问题 >Python常见问题

    如何选择python版本?python3还是python2?

    silencementsilencement2019-09-04 16:12:44原创2276

    Python 3.7 已经发布了,目前Python的用户,主要使用的版本 应该是 Python3.6 和 Python2.7 ,那么是不是该转到 Python 3.7 呢?

    首先大家要知道Python 3.7 是对 Python 3.6 的升级。Python官方对 3.7 的新特性描述链接如下:

    https://docs.python.org/3/whatsnew/3.7.html

    我们最需要注意的是 相对于 3.6 来说, 3.7 在语法上几乎是完全 兼容, 除了如下这一点:

    Backwards incompatible syntax changes:
     
    async and await are now reserved keywords.

    这段话,指出了 3.7 的唯一不兼容 3.6 的地方就是 async 和 await 变成了Python语言中保留的关键字了。

    什么意思?

    就是 async 和 await 这两个词 就像 import, for, while 这些词一样, 是系统保留特殊用途的关键字。

    也就是说在Python 3.7 里面你不能使用定义 变量、函数之类的 名字

    比如,我像下面这样定义变量和函数:

    async = 1
    def await():
        pass

    使用Python3.6 运行,没有问题, 而在Python 3.7 里面就会报如下错误

    SyntaxError: invalid syntax

    如何选择?

    所以,如果项目目前使用的是 Python 3.6 ,而且项目又比较大的话,个人建议不用太着急转到 3.7 上去。 因为不知道你的项目代码和依赖的第三方库的代码是不是做过3.7的兼容性测试, 毕竟 3.7 刚刚出来不久。

    3.7 的 pip 执行

    pip install psycopg2-binary

    安装就会失败,提示 Error: pg_config executable not found,而 3.6的pip安装就没有问题。

    所以,我们最好等到3.7被普遍使用了,再转过去。

    现在要转到Python3.7, 除非 有你们项目特别渴望使用的 Python3.7 里面的新特性 。 如果是那样的话,一定要 做一个对老的代码覆盖比较充分的测试,防止上线运行的时候出现问题。

    专题推荐:python
    上一篇:python的web开发框架有哪些 下一篇:python中模块是什么

    相关文章推荐

    • python pytz是什么• python distribute是什么• python如何画奥运五环

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网