推荐学习书目
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
bzmario
V2EX  ›  Python

闲来无事想学习下 Python,在版本选择时遇到了困难

  •  
  •   bzmario · Dec 3, 2014 · 6291 views
    This topic created in 4184 days ago, the information mentioned may be changed or developed.
    没有接触过 Python,一些书籍里推荐使用 3,一些则推荐 2,作为学习的话,这些重要么?

    当然,即便做项目的话也是依据自己兴趣做,所以排除外界约束因素。该从哪个版本学习?
    Supplement 1  ·  Dec 3, 2014
    不纠结,直接 3 了,道理都是相通,感谢 @iloahz 及所有朋友
    48 replies    2014-12-07 18:28:45 +08:00
    hahastudio
        1
    hahastudio  
       Dec 3, 2014   ❤️ 1
    那就是 Python 3.x
    现在大部分库都已经有了 3.x 的支持
    当然,那些没人管的除外= =
    oott123
        2
    oott123  
       Dec 3, 2014 via Android
    新手学 Python 的一大难题。
    很不幸我也被这个问题难倒了_(:з」∠)_
    现在大部分时候用 2 ,有时候觉得新鲜也看看 3 ,不过不熟3。(其实2也不熟…
    mhycy
        3
    mhycy  
       Dec 3, 2014
    都行,通了一门别的都是细节小事了...
    imn1
        4
    imn1  
       Dec 3, 2014   ❤️ 1
    自己玩,选3,求职或用于服务器,选2
    linux默认是2的,因为默认3的话有大问题,很多工具和应用都要改,例如 ibus 输入法就要调用py2
    3对新手最大的优势是编码相对2要容易处理很多,其他方面是运行效率略高,这个不是我说的,洋人的测试;另外就是一些新特性,例如可以用一些新特性解除99次递归限制等等
    2的好处不用说你也知道是第三方模块比3多很多,有些很有用的模块没有持续更新支持3,例如 js v8引擎,我想写个小工具检测图片需要用GD,也是只有py2的,py3就没有
    frankzeng
        5
    frankzeng  
       Dec 3, 2014   ❤️ 1
    python2.7吧,不用纠结了
    vJianZhen
        6
    vJianZhen  
       Dec 3, 2014
    用3和2没什么区别,除了输出语句一点——是我研究不够深吧
    hahastudio
        7
    hahastudio  
       Dec 3, 2014
    @vJianZhen http://nbviewer.ipython.org/github/rasbt/python_reference/blob/master/tutorials/key_differences_between_python_2_and_3.ipynb

    然后 3.x 的标准库比 2.x 的又多了不少有用(其实是好玩?)的东西
    比如 @lru_cache
    cameo
        8
    cameo  
       Dec 3, 2014
    不用纠结了,学ruby吧。
    bzmario
        9
    bzmario  
    OP
       Dec 3, 2014
    @cameo 不要歪楼啊
    darkmatter
        10
    darkmatter  
       Dec 3, 2014
    学PHP吧
    dongqs
        11
    dongqs  
       Dec 3, 2014
    学ruby +1
    zts1993
        12
    zts1993  
       Dec 3, 2014
    推荐
    python2.7

    原因
    虽然很多类库已经支持3,但是不支持2.7也有不少,


    支持3却不支持2.7的却很少。 ==


    所以写2.7 但是3要顺带看一看就好啦。



    真是一门奇妙的语言,大家都喜欢旧版==
    clino
        13
    clino  
       Dec 3, 2014
    别纠结了,没包袱就3,有需要就切到2.7,别被那么多评论吓到
    scys
        14
    scys  
       Dec 3, 2014
    工作就2.7
    乐趣3.x
    两者基本不兼容
    不要指望2to3

    我现在工作都在3.4.下完成
    ChiangDi
        15
    ChiangDi  
       Dec 3, 2014
    不用纠结了,学ruby
    likexian
        16
    likexian  
       Dec 3, 2014
    果断2
    limbo0
        17
    limbo0  
       Dec 3, 2014
    附链接: https://docs.python.org/3/whatsnew/3.0.html

    新手学习2和3都可以,只是些许不同.
    iT2afL0rd
        18
    iT2afL0rd  
       Dec 3, 2014
    目前来说,用的比较多的还是2.x的版本。所以,为了以后工作,还是2;自己纯粹学着玩玩的,就选3吧
    alexkh
        19
    alexkh  
       Dec 3, 2014
    差别不大,建议以2.7为主。
    如果需要用到3的语法,可以from import __future__来实现。
    4everLoveU
        20
    4everLoveU  
       Dec 3, 2014
    请看python官网的建议。
    https://wiki.python.org/moin/Python2orPython3
    bitbegin
        21
    bitbegin  
       Dec 3, 2014 via Android
    学php吧,php大法好
    tabris17
        22
    tabris17  
       Dec 3, 2014
    python 2.7,最主流的版本

    很多python库不支持py3
    gnuth
        23
    gnuth  
       Dec 3, 2014
    Python 3.4 太爽了
    mahone3297
        24
    mahone3297  
       Dec 3, 2014
    @gnuth 怎么个爽?
    1989922yan
        25
    1989922yan  
       Dec 3, 2014
    学php吧

    别拉我,php是世界上最好的
    gnuth
        26
    gnuth  
       Dec 3, 2014
    @mahone3297 首先3.x不用关心编码问题了,另外标准库加了不少有用的东西,最近中毒3.4的asyncio中。

    说实在的,从2转3没有多少不适。如果想了解Python以前的坑,可以从2学起。
    LemonZest
        27
    LemonZest  
       Dec 3, 2014
    你学的教程用什么版本你就用什么版本
    R4rvZ6agNVWr56V0
        28
    R4rvZ6agNVWr56V0  
       Dec 3, 2014
    友情提示:很多企业用2.x的~
    lynx
        29
    lynx  
       Dec 3, 2014
    支持python3,其实主流的库都有了python3的支持了
    边边角角的小库可以考虑自己实现
    zixincao
        30
    zixincao  
       Dec 3, 2014
    大神们,ruby相比python 优点缺点在哪?
    RobberPhex
        31
    RobberPhex  
       Dec 3, 2014 via Android
    http://www.reddit.com/r/Python/comments/2o0str/python_272_or_python_3/

    If you have no specific reason to choose python2, go with 3.
    staticor
        32
    staticor  
       Dec 3, 2014
    https://github.com/yyuu/pyenv 主要会用的版本都搞下 用哪个切哪个
    lightening
        33
    lightening  
       Dec 3, 2014
    不用纠结了,学 Ruby + 1.
    xuwenmang
        34
    xuwenmang  
       Dec 3, 2014
    别纠结了。。。学JS吧,学好公司就你一个就够了,工资都你一个人的。。。
    iloahz
        35
    iloahz  
       Dec 3, 2014   ❤️ 1
    可以看看这些知名大库的情况: https://python3wos.appspot.com/

    python2使用率居高不下不外乎几个原因:
    1. python2足够好用,python3没有直击痛点的改进(注意只是说没有大的改进,不是说不好用)
    2. 依赖的库还没有支持python3(现状参见上面的link)
    3. 语法不兼容,升级费时费力

    你觉得上面哪一条对一个新手来说是很纠结的?当然有一天你也会发现,当年纠结学哪个版本真够无聊的。底层知识都是一样的,上层的语法什么的又都是浮云。。。
    wolfan
        36
    wolfan  
       Dec 3, 2014
    学习python 3.x 有个问题,中文资料明显过少,而且入门的学习教材基本都是以2.7x作的,现在都还有人用这个当教材。
    所以感觉怪怪的。
    bzmario
        37
    bzmario  
    OP
       Dec 3, 2014
    @wolfan 直接用英文吧,其实原版的书籍更容易理解呢
    wolfan
        38
    wolfan  
       Dec 3, 2014
    @bzmario (⊙﹏⊙) 小学文凭,English不会……
    hdjdcyl
        39
    hdjdcyl  
       Dec 3, 2014 via Android
    学PHP吧@世界上最好的语言没有之一
    Jimrussell
        40
    Jimrussell  
       Dec 4, 2014
    自己学着玩就学3,github上一堆有趣的项目都是3写的;功利的角度来看还是学2.7,工具和教程什么的都更全。
    bingu
        41
    bingu  
       Dec 4, 2014
    学PHP吧,你值得学习。
    robertlyc
        42
    robertlyc  
       Dec 4, 2014
    日常一下python 我喜欢
    gateswong
        43
    gateswong  
       Dec 4, 2014
    我用了一段时间python3,然后发现requests的oauth库不支持3就回到2了……

    其实用3用2都可以,现在好多语法来说越来越淡化之间的区别了
    1etters
        44
    1etters  
       Dec 4, 2014
    我是在选择书上遇到困难了!
    bzmario
        45
    bzmario  
    OP
       Dec 5, 2014
    @1etters 我在看的是 Learning Python,讲的比较基础、详细,你也可以直接看 Learn Python The Hard Way,网页版,内容较少,着重练习。前者会讲 2、3 之前的差异,后者直接是 2.7。
    1etters
        46
    1etters  
       Dec 5, 2014
    JoshOY
        47
    JoshOY  
       Dec 5, 2014
    用2.7吧 基本兼容3.x 而且第三方库多
    jianghu52
        48
    jianghu52  
       Dec 7, 2014
    个人建议你学2.7,因为python很多时候不是跑本机的,是放各种服务器上的比如签到啦,博客啦。但是目前服务器上的大部分版本还是2.x的。这样的话你的程序还要改了才能跑,多麻烦啊。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3460 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 118ms · UTC 04:43 · PVG 12:43 · LAX 21:43 · JFK 00:43
    ♥ Do have faith in what you're doing.