python2和python3的区别

 我来答
敲黑板划重点_
2019-12-23 · TA获得超过3.8万个赞
知道大有可为答主
回答量:9370
采纳率:77%
帮助的人:307万
展开全部
python2和python3分别是python的两个版本,python3作为一个升级版,许多针对早期Python版本设计的程式都无法在Python
3.0上正常执行的。区别:
1、Python2 既可以使用带小括号的方式,也可以使用一个空格来分隔打印内容,比如 print 'hi'
Python3 使用 print 必须要以小括号包括打印内容,比如 print('hi')
2、python2 range(1,10)返回列表,python3中返回迭代器,节约内存
3、python2中使用ascii编码,python3中使用utf-8编码
4、python2中unicode表示字符串序列,str表示字节序列
python3中str表示字符串序列,byte表示字节序列
5、python2中为正常显示中文,引入coding声明,python3中不需要
6、python2中是raw_input()函数,python3中是input()函数
极光爬虫,数据采集服务服务提供商,为您提供更快,更可靠的服务。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
从空去听8
2017-11-16 · TA获得超过7438个赞
知道大有可为答主
回答量:6907
采纳率:93%
帮助的人:5442万
展开全部
> 1. print不再是语句,而是函数,比如原来是 print 'abc' 现在是 print('abc')
但是 python2.6+ 可以使用 from __future__ import print_function 来实现相同功能
> 2. 在Python 3中,没有旧式类,只有新式类,也就是说不用再像这样 class Foobar(object): pass 显式地子类化object
但是最好还是加上. 主要区别在于 old-style 是 classtype 类型而 new-style 是 type类型
> 3. 原来1/2(两个整数相除)结果是0,现在是0.5了
python 2.2+ 以上都可以使用 from __future__ import division 实现改特性, 同时注意 // 取代了之前的 / 运算
> 4. 新的字符串格式化方法format取代%
错误, 从 python2.6+ 开始已经在str和unicode中有该方法, 同时 python3依然支持 % 算符
> 6. xrange重命名为range
同时更改的还有一系列内置函数及方法, 都返回迭代器对象, 而不是列表或者 元组, 比如 filter, map, dict.items 等
> 7. !=取代 < >
python2 也很少有人用 < > 所以不算什么修改
> 8. long重命名为int
不完全对, python3 彻底废弃了 long+int 双整数实现的方法, 统一为 int , 支持高精度整数运算.
> 9. except Exception, e变成except (Exception) as e
只有 python2.5 及以下版本不支持该语法. python2.6 是支持的. 不算新东西
> 10. exec变成函数
类似 print() 的变化, 之前是语句.
简单补充下
* 主要是类库的变化, 组织结构变了些. 但功能没变. urlparse - > urllib.parse 这样的变化
* 最核心的变化它没有说, 对 bytes 和 原生 UNICODE 字符串的支持, 删除了 unicode 对象, str 为原生 unicode 字符串, bytes 替代了之前的 str 这个是最核心的.
* 其它... 貌似不怎么重要了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
赋能圈
2019-04-08 · 教育不是灌溉,而是点燃火焰
赋能圈
采纳数:11 获赞数:66

向TA提问 私信TA
展开全部
你是要问技术具体的区别还是问企业哪个用的多,要是问哪个企业用的多的话还是python3.6。我看过很多机构的教程。老男孩教育的把2和3的讲的最透
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
植梓云xV
2017-06-20 · TA获得超过103个赞
知道答主
回答量:108
采纳率:0%
帮助的人:22.7万
展开全部
不是从2.7出现3.1,是从2.6。2.7是为了让Python平稳过度到3.X而发布的版本,加入了一些3.X的特性。主要区别有(个人观点,你可以到官方看它的说法)没有了经典类,全是新型类,就是class对象没有父类,那么就是从object继承而来的;print、exec从语句改为函数;还有就是str改为了unicode,就相当于2.X的unicode对象,2.X的str改为了bytes(这个要方便得多了,不像2.X要是编码出错,很不爽的).
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-09-25
展开全部

你只需要记住以下3点

  • Python 3 才是Python的未来

  • Python 官方都建议指直接学习Python 3

  • Python 2 只维护到2020年

    目前是2020年

    具体参考《python3破冰人工智能从入门到精通》

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式