推荐学习书目
› 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 · Sep 13, 2015 · 8891 views
    This topic created in 4075 days ago, the information mentioned may be changed or developed.

    又多了很多黑科技,比如之前讨论过的 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,万众期待的 async 和 await 语法来啦!

    总之,赶快升级就是了 😄

    下载地址:Python 3.5

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

    3.5 估计是和 2.5 一样意义重大的版本,很多顽固 2 货要慢慢接受 3 货咯。
    yech1990
    yech1990
    Sep 14, 2015
    3
    不是几个月前的事么?
    感觉几个月前官网就贴公告了
    Shared
    Shared
    OP
    Sep 14, 2015
    4
    @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
    chengzhoukun
    Sep 14, 2015
    5
    https://www.python.org/dev/peps/pep-0484/
    类型提示也比较有意思
    Shared
    Shared
    OP
    Sep 14, 2015
    6
    @chengzhoukun 这个已经提了蛮久了,不过只是给静态分析用的,议案里已经给定性啦:

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

    @knightdf 你开心就好
    chuan
    chuan
    Sep 14, 2015
    11
    还有矩阵乘运算符 @啊
    Kilerd
    Kilerd
    Sep 14, 2015 via Android
    12
    还在用 2.7 , 3.X 跟我没关系
    haogefeifei
    haogefeifei
    Sep 14, 2015
    13
    依然默默用 2 、、、、
    Shared
    Shared
    OP
    Sep 14, 2015
    14
    @Kilerd @haogefeifei 开心就好
    honkew
    honkew
    Sep 14, 2015
    15
    正在学 python 求推荐快速上手 文档或者视频
    Shared
    Shared
    OP
    Sep 14, 2015❤️2
    17
    @honkew Dive Into Python 3 —— 私认为最好的入门书
    zero0x00
    zero0x00
    Sep 14, 2015
    18
    用 2.7 ..
    jjx
    jjx
    Sep 14, 2015
    19
    看来将来项目要同时兼容 pypy/python 2.7/python3.5 了
    hantsy
    hantsy
    Sep 14, 2015
    20
    很多项目依赖 2.7
    XIVN1987
    XIVN1987
    Sep 14, 2015
    21
    在用 2.7 ,我觉得 Python 最需要提升的是性能, 3.x 增加的那些功能要么没有必要(比如那个 @矩阵乘法),要么可以通过 Package 扩展(毕竟 Python 最吸引人的是无所不能的 Package )

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

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

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

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

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

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

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

    python3 的时代快来了
    linchunai1212
    linchunai1212
    Sep 20, 2015
    43
    也觉得 python3 要提速 别搞些不痛不痒的语法糖
    scys
    scys
    Sep 25, 2015
    44
    @Shared 顺道之前你问完那个 py3 性能问题后,我就转去做 ROM 了,现在刚好又要弄后台~
    对比过 tornado py3 和 py2 的速度,怎么也是 py2 胜利呀。不知道 3.5 有没有改善。
    smilingpoplar
    smilingpoplar
    Sep 27, 2015
    45
    @Shared `async` `await`这东西到底怎么用啊?都找不到简单能跑的例子
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1013 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 18:38 · PVG 02:38 · LAX 10:38 · JFK 13:38
    ♥ Do have faith in what you're doing.