V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Shared
V2EX  ›  Python

Python 3.5 正式释出

  •  1
     
  •   Shared ·
    vayn · 2015-09-13 23:34:31 +08:00 · 7548 次点击
    这是一个创建于 3360 天前的主题,其中的信息可能已经有所发展或是发生改变。

    又多了很多黑科技,比如之前讨论过的 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

    45 条回复    2015-09-27 13:08:31 +08:00
    Shared
        1
    Shared  
    OP
       2015-09-14 00:17:35 +08:00
    看了下讨论 http://bugs.python.org/issue24400 coroutine 和 generator 现在分成两种不同的 type 了
    PythonAnswer
        2
    PythonAnswer  
       2015-09-14 00:51:50 +08:00
    学的 go 玩的就是潮流。 coroutine 变一等公民了。

    3.5 估计是和 2.5 一样意义重大的版本,很多顽固 2 货要慢慢接受 3 货咯。
    yech1990
        3
    yech1990  
       2015-09-14 00:54:14 +08:00
    不是几个月前的事么?
    感觉几个月前官网就贴公告了
    Shared
        4
    Shared  
    OP
       2015-09-14 01:01:55 +08:00
    @PythonAnswer

    "We believe that the changes proposed here will help keep Python relevant and competitive in a quickly growing area of asynchronous programming, as many other languages have adopted, or are planning to adopt, similar features: [2] , [5] , [6] , [7] , [8] , [10] ."

    主要学习对象是 Scala, ES6, C# ……等 XD

    =================

    @yech1990

    Release Date: 2015-09-13
    chengzhoukun
        5
    chengzhoukun  
       2015-09-14 01:27:25 +08:00
    https://www.python.org/dev/peps/pep-0484/
    类型提示也比较有意思
    Shared
        6
    Shared  
    OP
       2015-09-14 01:32:23 +08:00
    @chengzhoukun 这个已经提了蛮久了,不过只是给静态分析用的,议案里已经给定性啦:

    "Python will remain a dynamically typed language, and the authors have no desire to ever make type hints mandatory, even by convention."
    yech1990
        7
    yech1990  
       2015-09-14 02:09:39 +08:00 via Android
    Created: 29-Jun-2013
    patrickstar
        8
    patrickstar  
       2015-09-14 06:42:30 +08:00
    我用的很多的程序包还是 2.x 的,我还得必须安装 python2 的虚拟环境
    knightdf
        9
    knightdf  
       2015-09-14 08:52:06 +08:00
    有卵用?身边就没用 3 的,更何况公司
    Shared
        10
    Shared  
    OP
       2015-09-14 09:24:45 +08:00
    @patrickstar 现在 Python 3 可以反向兼容的,不妨试试

    @knightdf 你开心就好
    chuan
        11
    chuan  
       2015-09-14 09:28:30 +08:00
    还有矩阵乘运算符 @啊
    Kilerd
        12
    Kilerd  
       2015-09-14 09:43:50 +08:00 via Android
    还在用 2.7 , 3.X 跟我没关系
    haogefeifei
        13
    haogefeifei  
       2015-09-14 09:59:03 +08:00
    依然默默用 2 、、、、
    Shared
        14
    Shared  
    OP
       2015-09-14 10:06:57 +08:00
    @Kilerd @haogefeifei 开心就好
    honkew
        15
    honkew  
       2015-09-14 10:08:54 +08:00
    正在学 python 求推荐快速上手 文档或者视频
    Shared
        17
    Shared  
    OP
       2015-09-14 10:11:30 +08:00   ❤️ 2
    @honkew Dive Into Python 3 —— 私认为最好的入门书
    Lcys
        18
    Lcys  
       2015-09-14 10:51:51 +08:00
    用 2.7 ..
    jjx
        19
    jjx  
       2015-09-14 10:55:04 +08:00
    看来将来项目要同时兼容 pypy/python 2.7/python3.5 了
    hantsy
        20
    hantsy  
       2015-09-14 10:57:45 +08:00
    很多项目依赖 2.7
    XIVN1987
        21
    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
        22
    ifconfig  
       2015-09-14 11:55:12 +08:00
    小白问下 3.x 和 2.x 语法相差很远么,为什么还要特意去学
    poke707
        23
    poke707  
       2015-09-14 12:00:25 +08:00 via Android
    因为不兼容 2 的,老项目继续用 2 啊。新项目无理由不用 3 吧?选择了 Python 的高效开发也同时选择了较低的性能。口声声说把 3 提 10 倍性能干嘛不用 C 或 Go 。
    Shared
        24
    Shared  
    OP
       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
        25
    XIVN1987  
       2015-09-14 12:24:17 +08:00
    @Shared 不管再怎么为 Python3 鼓吹,也改变不了 Python3 都出到 3.5 了,可不光公司很少用 Python3 ,连个人都大都用 Python2 的事实,,
    jjx
        26
    jjx  
       2015-09-14 12:31:12 +08:00
    @XIVN1987

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

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

    10 倍的话, python 还不翻天了
    XIVN1987
        27
    XIVN1987  
       2015-09-14 12:38:19 +08:00
    @jjx 要是真能提升 10 倍就好了,秒翻一切,一统江湖\(^o^)/
    XIVN1987
        28
    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
        29
    Smirnoff  
       2015-09-14 12:51:36 +08:00
    解释性质的语言,再快能快拿去,速度上还是看好 GO ,。。。。。
    leavic
        30
    leavic  
       2015-09-14 13:04:11 +08:00 via iPhone
    @XIVN1987 python 是解释性语言,这就决定了性能和 C 不是一个级别,提升性能的方法就是向 C 靠拢,代价就是灵活性的丧失,所有数据都要申明类型就可以很大程度上改善性能,但没有申明一样用的很好,两者是无法兼得的。
    leavic
        31
    leavic  
       2015-09-14 13:05:36 +08:00 via iPhone
    @XIVN1987 print 不加括号的结果是你在 lambda 里都没法用 print ,一点都不方便
    Shared
        32
    Shared  
    OP
       2015-09-14 13:45:07 +08:00
    @XIVN1987 如果你不写大工程,没有历史包袱,我建议你放空自己的大脑以及各种成见,认真学着使用 Python 3 完整写一套程序。然后再回来下结论。 Python 从 2 升级到 3 并不只是给 print 增加打字难度,如果你英文还行,可以把各个版本的 PEP 过一遍。
    kisshere
        33
    kisshere  
       2015-09-14 14:00:27 +08:00 via Android
    你才用 Python ,你们全家都用 Python
    Shared
        34
    Shared  
    OP
       2015-09-14 14:49:31 +08:00
    @Kai @GordianZ 麻烦请锁帖。我以后不会再做这种无趣的事情了。
    iannil
        35
    iannil  
       2015-09-14 15:10:32 +08:00
    @Shared 还是挺好的,我就喜欢尝鲜。版本切换需要有个过程。
    PythonAnswer
        36
    PythonAnswer  
       2015-09-14 17:02:14 +08:00
    贵坛太鳖了.. 鳖塘...
    因循守旧, 鳖...
    rubytek
        37
    rubytek  
       2015-09-14 17:18:07 +08:00
    自己写代码都是用 python3 ,公司的线网程序是 python2 ,维护起来很淡疼。
    chaucerling
        38
    chaucerling  
       2015-09-14 17:51:41 +08:00
    看来 python4 才能解决社区分裂的问题
    janxin
        39
    janxin  
       2015-09-14 23:21:41 +08:00
    @chaucerling 4 号称和 3 变化不大
    dizzy
        40
    dizzy  
       2015-09-15 09:18:44 +08:00
    @Shared Dive Into Python 2 和 Dive Into Python 3 区别大不大?
    Shared
        41
    Shared  
    OP
       2015-09-15 09:24:38 +08:00   ❤️ 1
    @dizzy 80%的新内容,建议即使读过 2 也可以读一遍 3
    davidx
        42
    davidx  
       2015-09-15 10:28:59 +08:00
    支持啊~~~

    python3 的时代快来了
    linchunai1212
        43
    linchunai1212  
       2015-09-20 23:00:11 +08:00
    也觉得 python3 要提速 别搞些不痛不痒的语法糖
    scys
        44
    scys  
       2015-09-25 23:24:08 +08:00
    @Shared 顺道之前你问完那个 py3 性能问题后,我就转去做 ROM 了,现在刚好又要弄后台~
    对比过 tornado py3 和 py2 的速度,怎么也是 py2 胜利呀。不知道 3.5 有没有改善。
    smilingpoplar
        45
    smilingpoplar  
       2015-09-27 13:08:31 +08:00
    @Shared `async` `await`这东西到底怎么用啊?都找不到简单能跑的例子
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2576 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 15:38 · PVG 23:38 · LAX 07:38 · JFK 10:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.