永发信息网

Python 2 和 Python 3 有哪些主要区别

答案:1  悬赏:50  手机版
解决时间 2021-02-06 05:54
Python 2 和 Python 3 有哪些主要区别
最佳答案



> 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 这个是最核心的.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
迎丽副食店地址在哪,我要去那里办事
竹冈的意思是什么啊?知道的请说下!
日久锅炉科技公司陈村办事处地址在哪,我要去
佳乐副食店地址在什么地方,想过去办事
首次挂号如没有诊疗卡可不可以网上预约
神谷的意思是什么啊?知道的请说下!
姜记红枫寨瓦香鸡在哪里啊,我有事要去这个地
尊宝世界大家看这宋瓷真的假的直多钱
陈福社劳保商店怎么去啊,我要去那办事
【蝶形运算】如图所示的运算流图符号是()基2F
桃花潭的意思是什么啊?知道的请说下!
安装软件后再卸载会留下残留文件?我手机残留
土龙山在哪里啊,我有事要去这个地方
金凤纸业超市地址在哪,我要去那里办事
杭州哪里有太平鸟 gxg 卡滨 等这些专卖店
推荐资讯
某单位有3名职工和6名实习生,平均分成3组(1
变频器为什么在控制端子上设置两套电压电流输
北京路到外沙的公交车
寻初音家族里面初音唱的一首歌大概MV内容 初
i write中间写什么单词
职场沟通是什么意思
是不是软包的床比较容易坏啊
大自然向我们展示着种种美的奇迹,人生活在大
地下防水工程施工中,下述水泥砂浆防水层的做
电鞭的意思是什么啊?知道的请说下!
二年级上册判断对错。对的画V,错 的画x 1.3x
蝈蝈为什么不叫呀,呜呜~
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?