闲来无事想学习下 Python,在版本选择时遇到了困难 - V2EX
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 6020 次点击
    这是一个创建于 4018 天前的主题,其中的信息可能已经有所发展或是发生改变。
    没有接触过 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/td>
        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学起。
    LemonZest
        27
    LemonZest  
       2014-12-03 16:26:52 +08:00
    你学的教程用什么版本你就用什么版本
    R4rvZ6agNVWr56V0
        28
    R4rvZ6agNVWr56V0  
       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,工具和教程什么的都更全。
    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     Solana     5726 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 02:32 PVG 10:32 LAX 18:32 JFK 21:32
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86