2017 年 5 月的现在,还有什么理由不使用 Python 3?

2017-05-05 23:18:26 +08:00
 cxz
标题是一个疑问句,各位童鞋请作答。

其实是最近发现 aws lambda 最近终于支持 python 3 了,不用 2 的理由又少了一个。
大部分库也支持 3 了 https://python3wos.appspot.com/
还有什么理由(借口),或者其他什么坑的?比如有没有什么领域大家都用 2,或者某些教程还大都是 2 之类的?
10435 次点击
所在节点    Python
64 条回复
mathgl
2017-05-06 00:29:07 +08:00
@strawhat7 py2 普遍比 3 快一点,但是那点差异不会造成什么影响。最主要是 2to3 根本问题 GIL 之类并没有解决,导致很多人都转 Go 了。
PythonAnswer
2017-05-06 00:31:04 +08:00
@janxin 有具体评测数据吗? 望告知, 多谢!


@strawhat7 这是 py3 久久不能替代 py2 的最重要原因, 升级反而速度会损失. 因为 py3 的很多 PyObject 占用资源要比 py2 的高. 比如 str 变成 unicode. 龟爹重大战略失误, 我觉得就是太在意语言细节, 搞不兼容搞出了一条邪路, 而不是把社区大多数精力放在提高 CPython 解释器速度上. (当然我一直用 py3 因为经常处理各国文字).

直到最近 py3.6 的字典对象, 比 py2 速度高了 3 倍多. py3 的速度是在提高, 但不知道有没有全面超过 py2.
raptor
2017-05-06 01:01:52 +08:00
看在 async/await 的份上,至少 py3.5
terence4444
2017-05-06 01:06:51 +08:00
吃了 unicode 以外,并没有足够的理由让用户升级现有项目。

而且各种库,并不是“ py3 的库更好更多” 而是 “现在 xxx 库也开始支持 py3 了”。
bccber
2017-05-06 01:09:20 +08:00
只会用来写爬虫 2 和 3 没区别
Geoion
2017-05-06 01:25:56 +08:00
mysql-python
276562578
2017-05-06 01:32:16 +08:00
对我来说最大的阻碍是 3 的 print 要加括号,十分不爽(ノ`⊿´)ノ其实 2 和 3 对我来说没什么区别
ibegyourpardon
2017-05-06 01:35:54 +08:00
那我给个理由吧。

有几十万已经写好的 Python 2 的代码扔在那里。

我用 Python 3 在外部写点服务,加点东西,对接起来,也能用。

我用别的东西写,也能这样操作。

当然有时候没那么方便,或者习惯,能复用的,或者可能侵入代码的,就用 Python 2 写。

上面说的性能什么之类的,我从来没考虑过。

我就是不思进取,不肯前进,守旧,喜欢用习惯的东西。。。

为什么要如此不思进取呢?因为如果 Python 2 是个要进故纸堆的东西的话,那么维护的这套系统本身也是,早晚要退役。但在此刻,这套系统仍然能发挥价值,就像 Python 2 仍然是有价值和有着不可替代的部分一样。

Python 3 和 Go 可能在很多地方更好,也许全面碾压 Python 2 的那一天很快就来了,但就算到了那天,用 Python 2 也不是什么丢人的事。

新东西大多数都是好的,但作用应该是开疆拓土,而不是取代老的。

就像我现在比我爹力气大能干活,不代表我就该淘汰他。
KirkZheng
2017-05-06 01:44:03 +08:00
@misaka19000 我也刚想说
aminic
2017-05-06 05:52:36 +08:00
再用 3 了,大概很快 4 就要 out 了吧
zmj1316
2017-05-06 06:33:29 +08:00
因为 4 还没出
dsg001
2017-05-06 08:28:42 +08:00
老项目懒得折腾,新项目坚定 py3
clino
2017-05-06 09:11:17 +08:00
懒。。。
ooh
2017-05-06 09:20:48 +08:00
苦于没找到一种完美的 bencode
sagaxu
2017-05-06 10:49:14 +08:00
@terence4444 XX 库要开始不支持 py2 了,这类理由够不够?比如 django 和 ipython
PythonAnswer
2017-05-06 11:46:24 +08:00
提升 2 倍速度,大家都用了。能省一半资源呢。
litter123
2017-05-06 12:39:47 +08:00
@clino 一样,233
chroming
2017-05-06 13:30:17 +08:00
理由是公司在用 2
riverxs
2017-05-06 13:35:25 +08:00
JS 笑而不语😂
a87150
2017-05-06 13:40:50 +08:00
@JJaicmkmy python -m http.server 8000 还更容易打了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/359475

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX