到底是学Python2还是Python3?产生了很多的争议!神级程序员解析 | 数盟社区

在 Python 3 出现之前,Python 在我眼里一直是一位稳重扎实的大叔,资历深厚,语法简单,功能强大,兼顾面向对象和函数式编程,库包丰富程度让其他语言转过来的程序员瞠目结舌并喟叹:人生苦短,要用 Python 啊……这种情况一直持续到 Python 3 的出现。如果你也是编程的学习者或者已经学会了的编程者!

到底是学Python2还是Python3?产生了很多的争议!神级程序员解析

「Python之禅」里讲过,「找到一种或唯一的一种解决方案去解决问题」。文字既能代表文本数据又能代表二进制数据这很麻烦。一旦对象脱离我们的控制,就会让人变得恐慌。有人说我们可以用 Unicode,但实际中人们并不会那么做,有事还会引发不必要的麻烦。比如在 Python 2 中,中文显示是这样的:

Python 是一门面向世界的语言,而不只是那些支持 ASCII 码覆盖的罗马数字的语言。这是 Python 3 在处理文本时选择使用 Unicode 的原因。

Python 3 的开发过程大致是这样的:

到底是学Python2还是Python3?产生了很多的争议!神级程序员解析

到底是学Python2还是Python3?产生了很多的争议!神级程序员解析

到底是学Python2还是Python3?产生了很多的争议!神级程序员解析

除法运算

Python中的除法较其它语言显得非常高端,有套很复杂的规则。Python中的除法有两个运算符,/和//

首先来说/除法:

在python 2.x中/除法就跟我们熟悉的大多数语言,比如Java啊C啊差不多,整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数除法会保留小数点的部分得到一个浮点数的结果。

在python 3.x中/除法不再这么做了,对于整数之间的相除,结果也会是浮点数。

到底是学Python2还是Python3?产生了很多的争议!神级程序员解析

到底是学Python2还是Python3?产生了很多的争议!神级程序员解析

到底是学Python2还是Python3?产生了很多的争议!神级程序员解析

到底是学Python2还是Python3?产生了很多的争议!神级程序员解析

不等运算符

Python 2.x中不等于有两种写法 != 和 <>

Python 3.x中去掉了<>, 只有!=一种写法,还好,我从来没有使用<>的习惯

到底是学Python2还是Python3?产生了很多的争议!神级程序员解析

到底是学Python2还是Python3?产生了很多的争议!神级程序员解析

那么该学 Python 2 还是 Python 3 呢?如果是五年前我推荐学习 Python 2,两年前我推荐都要学都要掌握,事实上在 Mac 环境里用 homebrew 安装和使用两个版本的环境是非常方便的。时至今日,大量的库已经开始普遍支持 Python 3 了,而且 Python 3 的特性已经远远不是解决 str 问题了,所以现在我会推荐你直接学习 Python 3。

到底是学Python2还是Python3?产生了很多的争议!神级程序员解析

所以人生苦短,我用Python3!

注:转载文章均来自于公开网络,仅供学习使用,不会用于任何商业用途,如果侵犯到原作者的权益,请您与我们联系删除或者授权事宜,联系邮箱:contact@dataunion.org。转载数盟网站文章请注明原文章作者,否则产生的任何版权纠纷与数盟无关。
期待你一针见血的评论,Come on!

不用想啦,马上 "登录"  发表自已的想法.