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
bzmario
V2EX  ›  Python

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

  •  
  •   bzmario · 2014-12-03 13:08:44 +08:00 · 5528 次点击
    这是一个创建于 3635 天前的主题,其中的信息可能已经有所发展或是发生改变。
    没有接触过 Python,一些书籍里推荐使用 3,一些则推荐 2,作为学习的话,这些重要么?

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

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


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


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



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

    我现在工作都在3.4.下完成
    ChiangDi
        15
    ChiangDi  
       2014-12-03 14:16:10 +08:00
    不用纠结了,学ruby
    likexian
        16
    likexian  
       2014-12-03 14:19:43 +08:00
    果断2
    limbo0
        17
    limbo0  
       2014-12-03 14:38:10 +08:00
    附链接: https://docs.python.org/3/whatsnew/3.0.html

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

    很多python库不支持py3
    gnuth
        23
    gnuth  
       2014-12-03 15:45:15 +08:00
    Python 3.4 太爽了
    mahone3297
        24
    mahone3297  
       2014-12-03 15:48:30 +08:00
    @gnuth 怎么个爽?
    1989922yan
        25
    1989922yan  
       2014-12-03 15:53:13 +08:00
    学php吧

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

    说实在的,从2转3没有多少不适。如果想了解Python以前的坑,可以从2学起。
    sunshower
        27
    sunshower  
       2014-12-03 16:26:52 +08:00
    你学的教程用什么版本你就用什么版本
    GeekGao
        28
    GeekGao  
       2014-12-03 16:38:07 +08:00
    友情提示:很多企业用2.x的~
    lynx
        29
    lynx  
       2014-12-03 16:39:41 +08:00
    支持python3,其实主流的库都有了python3的支持了
    边边角角的小库可以考虑自己实现
    zixincao
        30
    zixincao  
       2014-12-03 16:44:27 +08:00
    大神们,ruby相比python 优点缺点在哪?
    RobberPhex
        31
    RobberPhex  
       2014-12-03 16:46:39 +08:00 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  
       2014-12-03 16:49:21 +08:00
    https://github.com/yyuu/pyenv 主要会用的版本都搞下 用哪个切哪个
    lightening
        33
    lightening  
       2014-12-03 16:50:58 +08:00
    不用纠结了,学 Ruby + 1.
    xuwenmang
        34
    xuwenmang  
       2014-12-03 16:54:00 +08:00
    别纠结了。。。学JS吧,学好公司就你一个就够了,工资都你一个人的。。。
    iloahz
        35
    iloahz  
       2014-12-03 16:57:55 +08:00   ❤️ 1
    可以看看这些知名大库的情况: https://python3wos.appspot.com/

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

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

    其实用3用2都可以,现在好多语法来说越来越淡化之间的区别了
    1etters
        44
    1etters  
       2014-12-04 19:44:59 +08:00
    我是在选择书上遇到困难了!
    bzmario
        45
    bzmario  
    OP
       2014-12-05 09:46:46 +08:00
    @1etters 我在看的是 Learning Python,讲的比较基础、详细,你也可以直接看 Learn Python The Hard Way,网页版,内容较少,着重练习。前者会讲 2、3 之前的差异,后者直接是 2.7。
    1etters
        46
    1etters  
       2014-12-05 10:14:27 +08:00
    JoshOY
        47
    JoshOY  
       2014-12-05 12:23:37 +08:00
    用2.7吧 基本兼容3.x 而且第三方库多
    jianghu52
        48
    jianghu52  
       2014-12-07 18:28:45 +08:00
    个人建议你学2.7,因为python很多时候不是跑本机的,是放各种服务器上的比如签到啦,博客啦。但是目前服务器上的大部分版本还是2.x的。这样的话你的程序还要改了才能跑,多麻烦啊。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5191 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 09:19 · PVG 17:19 · LAX 01:19 · JFK 04:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.