学Python 3的理由和必要性


Posted in Python onNovember 19, 2019

Python很多年前就已经出现了,并且还在不断发展。本书第1版基 于Python 1.5.2,Python 2.x作为主流版本已经持续了很多年。本书是基 于Python 3.6的,并在Python 3.7的Alpha版中通过了测试。

Python 3最初被异想天开地命名为Python 3000,因为它是Python历 史上第一个打破向下兼容的版本。这就意味着,如果不做任何修改,在 低版本Python中编写的代码可能无法在Python 3下运行。例如,在低版 本的Python中,print语句不需要在参数外面加上括号:

print "hello"

在Python 3中,print成了一个函数,需要加上括号:

print("hello")

也许有人会想:既然会破坏以前的代码,为什么还要修改这种细节 呢?正因为对任何语言而言这种改动都是件大事,所以Python的核心开 发人员仔细考虑过这个问题。尽管Python 3中的变化会破坏与旧代码的 兼容性,但这些变化很小,好处却很多。新版本Python的一致性更好, 更具可读性,歧义也更少了。Python 3并不是翻天巨变,而是深思熟虑 之后的演进。核心开发人员也贴心地提供了代码迁移方案和工具,可以 安全高效地将以前的旧代码迁移到Python 3中,后续章节中将会介绍。 此外还可以利用Six和Future库来简化代码转换操作。

为什么要学Python 3呢?因为它是迄今为止最好的Python版本。随 着很多项目开始充分利用Python 3的改进之处,它将成为未来几年的主 流Python版本。自从Python 3推出之后,库的移植工作一直在稳步进 行。到目前为止,很多受欢迎的库都已支持Python 3了。事实上,根据 Python就绪页面所示(http://py3readiness.org),360个最流行的库中已 有359个被移植到Python 3中了。如果确实需要使用未被转换过的库,或 者要使用基于Python 2建立的代码,那就继续使用Python 2.x吧。但如果
是刚开始学习Python或新建项目,就使用Python 3吧。Python 3不仅更好 用,而且是大势所趋。

以上就是本次介绍的关于学Python 3的理由的相关知识点,感谢大家的学习和对三水点靠木的支持。

Python 相关文章推荐
python操作redis方法总结
Jun 06 Python
删除python pandas.DataFrame 的多重index实例
Jun 08 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
Dec 22 Python
对python_discover方法遍历所有执行的用例详解
Feb 13 Python
WxPython建立批量录入框窗口
Feb 27 Python
python requests使用socks5的例子
Jul 25 Python
python多线程与多进程及其区别详解
Aug 08 Python
详解如何减少python内存的消耗
Aug 09 Python
python 字符串常用方法汇总详解
Sep 16 Python
基于python实现学生信息管理系统
Nov 22 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
Jun 02 Python
python标准库ElementTree处理xml
May 20 Python
Python的缺点和劣势分析
Nov 19 #Python
wxPython实现绘图小例子
Nov 19 #Python
python 如何去除字符串头尾的多余符号
Nov 19 #Python
wxPython实现画图板
Aug 27 #Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
Nov 19 #Python
Python高级特性之闭包与装饰器实例详解
Nov 19 #Python
Python高级编程之继承问题详解(super与mro)
Nov 19 #Python
You might like
这部好评如潮的动漫 知名梗频出 但是画风劝退很多人
2020/03/08 日漫
php5.2时间相差8小时
2007/01/15 PHP
PHP中for与foreach的区别分析
2011/03/09 PHP
php设计模式  Command(命令模式)
2011/06/17 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
Laravel框架实现抢红包功能示例
2019/10/31 PHP
document.getElementBy("id")与$("#id")有什么区别
2013/09/22 Javascript
$.each遍历对象、数组的属性值并进行处理
2014/07/18 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
javascript引用类型之时间Date和数组Array
2015/08/27 Javascript
Web开发中客户端的跳转与服务器端的跳转的区别
2017/03/05 Javascript
详解微信小程序 template添加绑定事件
2017/06/23 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
小程序如何自主实现拦截器的示例代码
2019/11/04 Javascript
用Node写一条配置环境的指令
2019/11/14 Javascript
简单了解Vue computed属性及watch区别
2020/07/10 Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
2020/12/09 Javascript
python笔记:mysql、redis操作方法
2017/06/28 Python
python数字图像处理实现直方图与均衡化
2018/05/04 Python
Python不使用int()函数把字符串转换为数字的方法
2018/07/09 Python
利用Python如何批量修改数据库执行Sql文件
2018/07/29 Python
python与idea的集成的实现
2020/11/20 Python
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
.net开发工程师面试题
2014/02/25 面试题
机械电子工程毕业生自荐信
2013/11/23 职场文书
幼儿园春游活动方案
2014/01/19 职场文书
八年级生物教学反思
2014/01/22 职场文书
机关门卫制度
2014/02/01 职场文书
毕业生个人求职自荐信
2014/02/26 职场文书
乡镇2014法制宣传日活动总结
2014/11/01 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android
详解JSON.parse和JSON.stringify用法
2022/02/18 Javascript
Redis集群节点通信过程/原理流程分析
2022/03/18 Redis
navicat 连接Ubuntu虚拟机的mysql的操作方法
2022/04/02 MySQL