Python开发中,为什么决定后续以Python 3为主要版本?
1、最近处理的一些网站,总是奇怪的乱码问题,头痛医脚弄得我难受死了,尝试性的使用 python 3.6,世界清净了。
2、最近写了几个学生作业,使用的 python 3.6,除了偶尔用 print 时加括号,urlparse 包名改了外,暂时没遇到其他问题,当然这和我写的都是 hello world 有关。
3、没有历史包袱,以前的代码随着公司的倒闭,已经毫无用处了。
想了下,满足两点就可以全面转向 3 了:
1、自身不抗拒,习惯的力量是强大的;
2、新开项目,而不是维护已有的。
所以,后续的一些工作,我就全面转向 3 了。
Python开发中,为什么决定后续以Python 3为主要版本?
一想想 node-gyp 还在依赖 python2,我的蛋就隐隐作痛
Python 3是Python语言的未来,因为它解决了Python 2中许多长期存在的设计缺陷和一致性问题。最核心的改进是彻底统一了文本和二进制数据的处理方式(str/unicode/bytes的清晰分离),这从根本上杜绝了编码相关的棘手bug。同时,它引入了更简洁的语法(如print函数、更合理的整数除法)、更好的Unicode支持、以及类型注解等现代语言特性,让代码更健壮、可维护性更高。Python 2已于2020年停止官方支持,所有新的语言特性、安全补丁和库生态都只围绕Python 3发展。因此,为了代码的长期生命力和能利用最新的工具生态,新项目必须基于Python 3,旧项目也应尽快迁移。
总结:Python 3是唯一获得官方支持和现代生态维护的版本。
不支持 3 的库很稀少了。需要用到这些库的时候用 2 就是。
为了 PEP498 也该转 3: https://www.python.org/dev/peps/pep-0498/
3 很好,但不兼容啊,头痛。
configparser 是最那个啥的了
乱码以前我也头疼 但痛定思痛花了一天多全面查了 python 编码、系统编码、文件编码几者关系后 大概都清楚了
是你不太了解 python2 的各种编码和转换关系罢了。。
我遇到乱码较多的情况是我处理从网上抓取网页信息时,遇到乱码,就需要再去确认一下网页编码,然后 decode 成对应的编码,这是个繁琐麻烦的事情,调试脚本的很大一部分精力放在这些事情上,得不偿失。
agree,python2 编码坑就是个伪命题。
自己写的代码,加个 u 包治百病,但是从其他地方获取的数据就难说了,你总是要考虑到这个问题,而这个问题本不该花时间去考虑调试的。
一想到 scons 到现在还没完全切换到 py3。。。
这个问题我已经不想再讨论了,噗
php 笑而不语。
比加 u 更省劲而且更好的兼容 Python3 是在每个模块顶部引入:
from future import unicode_literals
现在新的模块统一从 future 导出以下几个:
from future import unicode_literals, print_function, division
说的有理,但是头疼不应该医头么。头痛医脚的原理是啥。
3 hhh

