为了账号安全,请及时绑定邮箱和手机立即绑定

python2和3的差别这么大?

为什么把源代码复制到其他编译器就报错,最近几节课的代码都是这样,烦死了

正在回答

1 回答

一是print的区别。python2中print是语句,要显示的对象不需要括号;python3中print是函数,要显示的对象需要加上括号。如:python2中的print ‘A=’,5。在python3中改为print(‘A=‘,5)。这是我们编程中经常需要注意的问题。

二是取值范围的区别。python2中用xrange ,python3中用range。如:python2中的 xrange( 0, 4 ) 改为python3中的range(0,4)。关键字更清楚明白啦。

三是字符串存储的区别。python2中 字符串以 8-bit 字符串存储,python3中字符串以 16-bit Unicode 字符串存储。存储格式得到了升级。

四是纠错机制的区别。python2 中try:...except Exception, e :...,改为python3中的 try:...except Exception as e :...。加了个as使代码更清晰啦。

五是打开文件的区别。python2中用file(.....)或者open(……)来打开文件,改为python3中只能用open(.....)来打开文件。更符合python之禅中简单明了无歧义的要求。

六是键盘输入的区别。从键盘录入一个字符串,python2中是 raw_input( "提示信息" ),python3中是 input( "提示信息" )。让代码更简洁啦。

七是除法的区别。python2中 10/3=3,python3中改为10/3=3.3333333333333335,更精确啦,而10//3=3,这个//才是取整运算符。除法有了多样性选择。

八是库的变化。python2中的urllib、urilib2两个库合并为python3中的urllib库;python2中的urllib2.urlopen()变为python3中的urllib.request.urlopen();python2中的urllib2.Request()变为python3中的urllib.request.Request();python2中的urllib.quote(text)变为python3中的urllib.parse.quote(text);python2中的urllib.urlencode 变为python3中的urllib.parse.urlencode;python2中的urllib2 变为python3中的urllib.request;python2中的urlparse 变为python3中的 urllib.parse;python2中的cStringIO变为python3中的io。


13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

python2和3的差别这么大?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信