python3.7和3.6有什么区别_选择 Python3.6 还是 Python 3.7

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

选择 Python3.6 还是 Python 3.7

Python 3.7 已经发布了, 又有新版本玩喽!!但是有选择症的你,怎么办呢?像追剧一样,赶快升级?白月黑羽来帮你分析一下吧

首先大家要知道 Python 3.7 是对 Python 3.6 的升级。

Python3.7有什么新东东?

参考这里(https://docs.python.org/3/whatsnew/3.7.html)了解Python官方对 3.7 的新特性描述。我们最需要注意的是 相对于 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 和 await 这两个词 作为 变量、函数、类 的名字

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

async = 1

def await():

pass

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

SyntaxError: invalid syntax

如何选择呢?

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

比如,白月黑羽写这篇文章的时间是2018年7月13号,我就发现 postgresql 数据库的Python API 驱动库, psycopg2的安装在 Python 3.7 上就有问题。

3.7 的 pip 执行

pip install psycopg2-binary

安装就会失败,提示 Error: pg_config executable not found

而 3.6的pip安装就没有问题。

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

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

我还在用Python2.7怎么办?

如果你当前的项目使用的是 Python 2.7 ,并且项目后续还要进一步开发, 建议还是在合适的时机升级到 Python3。

因为,毕竟Python2 在2020年官方就不再维护,到时候出现什么安全漏洞之类的问题,就比较麻烦了。 而且有些非常实用的新特性 和 库 不会支持 Python2 。

如果决定把项目从Python2 升级到 Python3, 目前可以先升级到Python3.6 , 因为业界目前对 3.6 的支持还是比较普遍的。 等以后 3.7 支持比较普遍后,再做升级不迟。

更多内容,百度【白月黑羽】移步到Python3教程了解

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值