|
|
|
|
移动端

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

Python 在我眼里一直是一位稳重扎实的大叔,资历深厚,语法简单,功能强大,兼顾面向对象和函数式编程,库包丰富程度让其他语言转过来的程序员瞠目结舌并喟叹。

作者:佚名来源:python学院|2017-12-18 17:03

在 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!

【编辑推荐】

  1. JS 开发者:最喜欢 React,Vue.js 比 Angular 值得尝试
  2. 痛心!中兴42岁程序员跳楼身亡,是什么把他逼上了绝路?
  3. 梦想,在这里绽放——51CTO首届开发者大赛路演
  4. PHP 语言地位遭受挑战,PHP 程序员路在何方?
  5. 号外!微软考虑将Python作为Excel官方脚本语言,你怎么看?
【责任编辑:张燕妮 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月最赞

读 书 +更多

SQL应用与开发标准教程

本书主要介绍了SQL的数据库应用和开发技术,内容涉及关系数据库和SQL概述,SQL环境,SQL对于数据表的操作,数据库查询知识,SQL数据的修改...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊