python2和python3的部分不同之处

如果你是一个初学者,或者你以前接触过其他的编程语言,你可能不知道,在开始学习python的时候都会遇到一个比较让人很头疼的题
版本问题!!是学习python2 还是学习 python3 ?这是非常让人纠结的!
搜索一下便会发现python3 和 python2 是不兼容的,而且差异比较大,到底学习哪个版本呢?

下面就来为大家分析一下

其实python是linux上最常用的软件之一,但是linux目前的版本大部分还是使用python2的,而且,在linux上依赖python2的程序更多一些,所以 Python3 要代替 python2 成为主流还需要几年的时间。当初设计 Python3 的目的是没有代码兼容的包袱的情况下改进 Python,但个人认为改进得还不够大刀阔斧,没有彻底改进一些bug,还有不少的 wart 错过了改进机会,因此造成的语法不兼容的地方也没最初设想的多。人们几年摸索慢慢下来,大部分的情况下可以直接写 2/3 兼容的代码,也有 six 这类的兼容层可用。所以先学 Python2 还是 Python3 都不是问题,或者说都是问题。目前现状是实际应用中大部分暂不考虑 Python3,有的时候注意写兼容 2/3 的代码。用 Python2 为主的写新代码时要考虑以后迁移到 Python3 的可能性。无论学 Python2 还是 Python3,都需要注意另外一边的不同点:所幸就是这些不同点很容易掌握,只有一个 unicode encoding 对较多人造成困扰(同时也是很多 web 相关库移植的主要障碍,3.3 重新支持 u’’,情况大大改善了)学习python2 还是 python3 、使用python2 还是 python3 需要看具体情况而定

1. 如果是你在企业中,需要用到python而学习python的话,那就要看企业的应用python的版本进行学习;
2. 如果想要更多的成熟解决方案,最少的bug,最稳定的应用那就用python2 ;
3. 如果你是在读大学的学生,那我建议你学习python3,等到毕业的时候或许python已经成为了主流。
黑马程序员的Python课程是国内最早开设的真正人工智能课程,课程非常全面系统想学习的可以了解下。 
python2跟python3的主要区别:
pytho3现在是主流使用的,python2已经不维护了
python2中没有(),用引号‘ ’引起来;python3使用()
目前linux系统默认的python解释器2.7

(1)区别一:print

python2中:print是一个语法结构,print ‘hello world’或者print "hello world"都可以
python3中:print是一个函数,print(“hello world”)或者print('hello world')都可以
括号里面写单引号或者双引号都可以

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可以看出python2和python3不同之处的一点在于:
python2使用''
python3使用('')

(2)区别二:编码问题

python2诞生的时候没有Unicode,所以python2使用的默认编码格式是asscii编码,这也是python2经常出现编码问题的原因之一。
python3中程序默认数据类型为Unicode,所以直接将数据编码(encode)成为想要转换的数据类型(gbk,utf-8,gb18030,gb2312)
然后解码成为对应的数据类型显示在屏幕上。
也就是python2需要声明,python3不需要声明
python2打印汉字要声明,python3打印汉字不需要声明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)区别三:除法运算

python2中整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数相除会保留小数点的部分得到一个浮点数的结果,即所有的结果都是整数
python3中对于整数之间的相除,结果也会是浮点数,即所有相除的结果均用浮点数表示,//表示取整

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(4)区别四:字符类型不同

python 3中没有长整形的概念,字符类型有int ,str,boolean或float,没有长整形long。
python 2中的字符类型有long长整形,int,float,str,boolean

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(5)区别五:input

python2中的raw_input()与python3中的input()功能一样,raw_input()会把用户输入的任何值都作为字符串来对待;而python2中的input不能读取非字符串。
python3 中只有 input(),并且把用户输入的任何值都作为字符串来对待

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
(5)区别六:不等运算符

python 2中不等于有两种写法 != 和 <>
python 3中去掉了<>, 只有!=一种写法

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值