Python 3.5 正式释出

2015-09-13 23:34:31 +08:00
 Shared

又多了很多黑科技,比如之前讨论过的 PEP 0441

又比如 PEP 0448,扩展了 *** 语法,以后可以这么玩儿了:

ranges = [range (i ) for i in range (5 )]
[*item for item in ranges]
[0, 0, 1, 0, 1, 2, 0, 1, 2, 3]`

还可以这么玩儿:

f (*x for x in it ) == f ((*x for x in it ))

f (**x for x in it ) == f ({**x for x in it})

再比如 PEP 0492,万众期待的 asyncawait 语法来啦!

总之,赶快升级就是了 😄

下载地址:Python 3.5

7397 次点击
所在节点    Python
45 条回复
XIVN1987
2015-09-14 11:48:48 +08:00
在用 2.7 ,我觉得 Python 最需要提升的是性能, 3.x 增加的那些功能要么没有必要(比如那个 @矩阵乘法),要么可以通过 Package 扩展(毕竟 Python 最吸引人的是无所不能的 Package )

要是 3.x 能把性能提升 10 倍,我想会有大批 2.x 的个人和公司升级到 3.x ,而且会有大批其他语言的程序员转到 Python ,,现在 Python 性能硬伤,,据说很多公司和个人从 Python 转 Go 去了,,伤心。。
ifconfig
2015-09-14 11:55:12 +08:00
小白问下 3.x 和 2.x 语法相差很远么,为什么还要特意去学
poke707
2015-09-14 12:00:25 +08:00
因为不兼容 2 的,老项目继续用 2 啊。新项目无理由不用 3 吧?选择了 Python 的高效开发也同时选择了较低的性能。口声声说把 3 提 10 倍性能干嘛不用 C 或 Go 。
Shared
2015-09-14 12:10:06 +08:00
@XIVN1987 Python 的性能是不是硬伤,这取决于你用 Python 来干什么。以及, Python 有很多方案来提升性能。当然,如果你要做 system programming ,我会推荐你去用 Rust 。能否详细说说 3.x 增加的哪些功能是你觉得没有必要的,以及原因?摆开来讨论,也许对大家都有收获:)

@ifconfig 语法变化不大,在部分基本组件上有变化,标准库有些许变化。如果你是一名熟练使用 Python 2.7 的 Pythonista ,大概半天就能上手。更具体可以参看我上面推荐的 Dive Into Python 3
XIVN1987
2015-09-14 12:24:17 +08:00
@Shared 不管再怎么为 Python3 鼓吹,也改变不了 Python3 都出到 3.5 了,可不光公司很少用 Python3 ,连个人都大都用 Python2 的事实,,
jjx
2015-09-14 12:31:12 +08:00
@XIVN1987

php7 吹的这么厉害, 实际也就提升了 2 倍左右

而 pypy 做了这么多努力, 也就提升了 2 倍以上

10 倍的话, python 还不翻天了
XIVN1987
2015-09-14 12:38:19 +08:00
@jjx 要是真能提升 10 倍就好了,秒翻一切,一统江湖\(^o^)/
XIVN1987
2015-09-14 12:50:58 +08:00
@ifconfig 其实 2 和 3 语法区别很小,一会儿就学会,,可是就算学了 3 用的时候还得用 2 ,公司都用 2 ,而且 2 库多、全,,虽说语法差别不大,可是 2 的 Package 在 3 里面用一报一堆错误,难道一个一个去改过来??

最关键的, 3 以不兼容为代价并没有给我们带来可观的回报,并没有相对于 2 不得了的提升,,而且有些改变是改好了还是改的更差了还两说呢?

比如 print 要加括号,这对写大工程也许是好的提升,可是对于我们不写大工程,更多的是在 iPython 里面做测试、计算、辅助的 Pythoner 来说,,显然还是不加括号更方便,,那我们为啥要提升到 3 给自己找麻烦呢?
Smirnoff
2015-09-14 12:51:36 +08:00
解释性质的语言,再快能快拿去,速度上还是看好 GO ,。。。。。
leavic
2015-09-14 13:04:11 +08:00
@XIVN1987 python 是解释性语言,这就决定了性能和 C 不是一个级别,提升性能的方法就是向 C 靠拢,代价就是灵活性的丧失,所有数据都要申明类型就可以很大程度上改善性能,但没有申明一样用的很好,两者是无法兼得的。
leavic
2015-09-14 13:05:36 +08:00
@XIVN1987 print 不加括号的结果是你在 lambda 里都没法用 print ,一点都不方便
Shared
2015-09-14 13:45:07 +08:00
@XIVN1987 如果你不写大工程,没有历史包袱,我建议你放空自己的大脑以及各种成见,认真学着使用 Python 3 完整写一套程序。然后再回来下结论。 Python 从 2 升级到 3 并不只是给 print 增加打字难度,如果你英文还行,可以把各个版本的 PEP 过一遍。
kisshere
2015-09-14 14:00:27 +08:00
你才用 Python ,你们全家都用 Python
Shared
2015-09-14 14:49:31 +08:00
@Kai @GordianZ 麻烦请锁帖。我以后不会再做这种无趣的事情了。
iannil
2015-09-14 15:10:32 +08:00
@Shared 还是挺好的,我就喜欢尝鲜。版本切换需要有个过程。
PythonAnswer
2015-09-14 17:02:14 +08:00
贵坛太鳖了.. 鳖塘...
因循守旧, 鳖...
rubytek
2015-09-14 17:18:07 +08:00
自己写代码都是用 python3 ,公司的线网程序是 python2 ,维护起来很淡疼。
chaucerling
2015-09-14 17:51:41 +08:00
看来 python4 才能解决社区分裂的问题
janxin
2015-09-14 23:21:41 +08:00
@chaucerling 4 号称和 3 变化不大
dizzy
2015-09-15 09:18:44 +08:00
@Shared Dive Into Python 2 和 Dive Into Python 3 区别大不大?

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

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

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

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

© 2021 V2EX