一文告知选择Python2和Python3的区别

Tomorin
发布: 2018-08-23 17:47:44
原创
2855人浏览过

对于初学者来说,只知道python2和python3是两代版本,但并不知道两代版本之间有哪些差别,本文就来介绍python2和python3的区别。

print不再是语句,而是函数,比如原来是 print 'abc' 现在是 print('abc')

但是 python2.6+ 可以使用 from __future__ import print_function 来实现相同功能:

#py2
print("hello")#等价print(“hello”)
#py3
print("hello")
登录后复制

在Python 3中,没有旧式类,只有新式类,也就是说不用再像这样 class Foobar(object): pass 显式地子类化object
但是最好还是加上. 主要区别在于 old-style 是 classtype 类型而 new-style 是 type类型


原来1/2(两个整数相除)结果是0,现在是0.5了


python 2.2+ 以上都可以使用 from __future__ import division 实现改特性, 同时注意 // 取代了之前的 / 运算
新的字符串格式化方法format取代%错误, 从 python2.6+ 开始已经在str和unicode中有该方法, 同时 python3依然支持 % 算符

立即学习Python免费学习笔记(深入)”;

xrange重命名为range
同时更改的还有一系列内置函数及方法, 都返回迭代器对象, 而不是列表或者 元组, 比如 filter, map, dict.items 等


 !=取代  <   > python2 也很少有人用  <  >  所以不算什么修改

long重命名为int
不完全对, python3 彻底废弃了 long+int 双整数实现的方法, 统一为 int , 支持高精度整数运算.


except Exception, e变成except (Exception) as e
只有 python2.5 及以下版本不支持该语法. python2.6 是支持的. 不算新东西


 exec变成函数
类似 print() 的变化, 之前是语句.

* 主要是类库的变化, 组织结构变了些. 但功能没变. urlparse - >  urllib.parse 这样的变化
* 最核心的变化它没有说, 对 bytes 和 原生 UNICODE 字符串的支持, 删除了 unicode 对象, str 为原生 unicode 字符串, bytes 替代了之前的 str 这个是最核心的.

以上就是一文告知选择Python2和Python3的区别的详细内容,更多请关注php中文网其它相关文章!

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 //m.sbmmt.com/ All Rights Reserved | php.cn | 湘ICP备2023035733号