Python 到底学 2 还是学 3 好?很多第三方库不兼容 3? - 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
mokeyjay
V2EX    Python

Python 到底学 2 还是学 3 好?很多第三方库不兼容 3?

  •  
  •   mokeyjay
    mokeyjay 2016-11-20 13:59:54 +08:00 7137 次点击
    这是一个创建于 3298 天前的主题,其中的信息可能已经有所发展或是发生改变。

    听慕课网某讲师说很多第三方库不兼容 3 ,这就很尴尬了,我本来想着学新不学旧

    作为初学者,到底学 2 还是学 3 好?是想认真学的那种。谢谢

    61 条回复    2016-11-22 16:30:03 +08:00
    ericls
        1
    ericls  
       2016-11-20 14:02:37 +08:00
    3

    讲师水平不一定你比高。。。。
    triostones
        2
    triostones  
       2016-11-20 14:03:42 +08:00
    3
    Lonely
        3
    Lonely  
       2016-11-20 14:07:06 +08:00 via iPhone   1
    注意下视频发布的时间
    mikicomo
        4
    mikicomo  
       2016-11-20 14:07:37 +08:00   4
    starvedcat
        5
    starvedcat  
       2016-11-20 14:10:32 +08:00
    等真正遇到什么不得不用 2 的情形,再回去学 2 不迟(其实肯定不会遇到)
    lwjcjmx123
        6
    lwjcjmx123  
       2016-11-20 14:19:31 +08:00 via Android
    十年前的教程了吧,现在第三方库不支持 3 的已经不多了吧
    aristotll
        7
    aristotll  
       2016-11-20 14:23:13 +08:00
    学新不学旧

    为啥会出现不兼容 就是为了弥补 Python 原来的缺陷
    wellsc
        8
    wellsc  
       2016-11-20 14:26:19 +08:00
    区别不大
    Antidictator
        9
    Antidictator  
       2016-11-20 14:31:20 +08:00
    以学习为目的的就是 3
    Yinz
        10
    Yinz  
       2016-11-20 14:35:33 +08:00
    学 3 ,现在已经有很多特性只有 3 才有而 2 没有的了,如 async/await
    zhuangzhuang1988
        11
    zhuangzhuang1988  
       2016-11-20 14:36:45 +08:00
    你是学语言呢 还是学习库呢??
    smallaccount
        12
    smallaccount  
       2016-11-20 14:40:30 +08:00 via iPhone
    学 3 吧,其实差别不是很大。现在 3 的教程快比 2 多了。

    利益相关:一直在用 2
    mgna17
        13
    mgna17  
       2016-11-20 14:51:27 +08:00
    先学 3 ,在兼容 2 , 2 个都会不是什么难事,学好了 3 之后大概再花个 1~2 小时就可以兼容 2 。
    qweweretrt515
        14
    qweweretrt515  
       2016-11-20 14:52:14 +08:00
    学 3 讲师的水平通常落后, 另外注意视频发布时间,没准 4 年前发布的
    现在 3 不兼容的库 ,基本都是一些没有人用的垃圾库
    mokeyjay
        15
    mokeyjay  
    OP
       2016-11-20 15:03:51 +08:00
    @mikicomo 很强,谢谢

    谢谢楼上有所耐心回答的 V 友,已决定学 3
    fy
        16
    fy  
       2016-11-20 15:07:40 +08:00
    等明年这时候可能就听说很多库不支持 2 了。
    zby0826
        17
    zby0826  
       2016-11-20 15:42:34 +08:00
    没什么库不支持 3 了,只是有一些可能支持还不是很完善,存在一些 bug ,但一点不影响。
    ainimuyan
        18
    ainimuyan  
       2016-11-20 15:45:09 +08:00
    果断 3
    iFlicker
        19
    iFlicker  
       2016-11-20 15:57:03 +08:00 via Android
    用 2 的建议 3
    panda1001
        20
    panda1001  
       2016-11-20 16:16:37 +08:00 via Android
    入哪一个都没问题,完全可以当两门语言来学
    dsg001
        21
    dsg001  
       2016-11-20 16:41:33 +08:00
    初学者必须 3 ,手头有项目的能 2 就 2
    hareandlion
        22
    hareandlion  
       2016-11-20 16:54:10 +08:00
    学 3 ,官方已经钦定支持 2 到 2020 年了 http://legacy.python.org/dev/peps/pep-0373/
    imgalaxy
        23
    imgalaxy  
       2016-11-20 16:58:09 +08:00
    我来改一下标题
    Javascript 到底学 ES5 还是学 ES6 好?很多第三方库不兼容 ES6 ?
    tyfulcrum
        24
    tyfulcrum  
       2016-11-20 17:09:08 +08:00 via iPad   1
    学 Ruby 吧,从此不再纠结 2 还是 3 (
    shakala
        25
    shakala  
       2016-11-20 17:14:48 +08:00
    目前大部分你能想到的的库都支持 3
    20015jjw
        26
    20015jjw  
       2016-11-20 18:34:19 +08:00
    安利一下 berkekley 的 cs61a
    102400
        27
    102400  
       2016-11-20 19:24:41 +08:00
    ryanzyy
        28
    ryanzyy  
       2016-11-20 19:55:02 +08:00
    真心不重要 想认认真真学 python 不看 python 教程 看 Ruby 的都可以
    学精了之后转很容易
    tscat
        29
    tscat  
       2016-11-20 20:12:57 +08:00
    看你要干嘛。。学 2 也没差。坑都被填完了。反正我用着玩的,一直都是 2
    dd99iii
        30
    dd99iii  
       2016-11-20 20:45:10 +08:00
    3333333333
    snnn
        31
    snnn  
       2016-11-20 20:47:53 +08:00 via Android
    工作中还是 2 为主。
    别忘了 Perl6 的笑话
    yeah2569
        32
    yeah2569  
       2016-11-20 20:50:30 +08:00
    都一样啊,主要还是看你想做啥
    chousb
        33
    chousb  
       2016-11-20 20:52:36 +08:00
    别逗了,学 3
    zhusimaji
        34
    zhusimaji  
       2016-11-20 21:06:50 +08:00 via Android
    反正从上手一直都是 2 ,楼主也不要纠结
    ipconfiger
        35
    ipconfiger  
       2016-11-20 21:14:23 +08:00   1
    其实别把学语言当成一场圣战, 其实入门也不过一周时间, 学深入了日常用一年基本也够了, 但是学了语言就够么, 好多初学者最大的困惑反而是在学完之后, 那个时候学完某某语言 prime 仿佛手握雷神之锤,举目四望到处找钉子, 但是往往很多人都在这个时候发现, 妈蛋的学了半天语言确还是啥也不会做, 然后发帖求助问能做啥, 然后被告知还要再学习 B, C, D, E.......等等 等等.......
    mokeyjay
        36
    mokeyjay  
    OP
       2016-11-20 21:31:38 +08:00 via Android
    @snnn perl6 怎么了?愿闻其详
    wtbhk
        37
    wtbhk  
       2016-11-20 21:32:42 +08:00
    运维学 2
    ericgui
        38
    ericgui  
       2016-11-20 22:29:48 +08:00
    区别不大
    orvice
        39
    orvice  
       2016-11-20 22:47:12 +08:00
    没有历史原因就学 3
    2 有些写法太 ugly 啦
    mianju
        40
    mianju  
       2016-11-20 22:48:41 +08:00
    插楼问一下,怎么快速从 2 学会 3 ?
    mansur
        41
    mansur  
       2016-11-20 23:07:56 +08:00   3
    自己走上邪路的一般这么鼓动别人学 3 :基本上库都支持 3 了,好多新库只有 3
    工作上一旦用了 3 :到 github 一查,经常是只支持 2 的库,或者就是没写只支持 2 ,但是在 3 下一运行,运行不起来。实际上只有一些比较知名的公共库支持 3 了, github 上大批的个人写的库都只支持 2 ,等你发现的时候项目已经用 3 了,这些库要么自己转,要么自己重新写,领导给的工期就这么多,你只能含泪加班了。这时候你要诉苦,那些当初忽悠你的人可能还会挖苦你效率这么差或眼光差,不给转 3 的库就不应该用,到时候你就有吃了狗屎的感觉,那么多库不支持,当初我转 python 干嘛呀
    est
        42
    est  
       2016-11-20 23:39:57 +08:00
    自己玩,挖新坑,用 3

    老司机都用 2 。。
    nullizer
        43
    nullizer  
       2016-11-20 23:43:12 +08:00   2
    3 注定淘汰的,以后是 Python 2 和 Python 4 的天下
    fy
        44
    fy  
       2016-11-21 00:45:34 +08:00   1
    @mansur Excuse me? 这是几年前得到的感受了?现在是 2016 年,醒醒。

    @nullizer python4 说不折腾,那是由 3 继承的; 2 还是该不兼容不兼容。
    kkzxak47
        45
    kkzxak47  
       2016-11-21 01:25:40 +08:00 via Android   1
    既然是学,肯定学 3 好。
    其实学 Python 如果只是学完基本语法,完成需求就满足,不更加深入, 2 和 3 有什么区别?
    我觉得更多精力可以放在看 pep ,还有核心开发者的邮件讨论等等上面,看看这门语言的 API 是怎样进化的,现状是如何形成的,为什么要做一个不兼容 Python2 的版本, 3 到底强在哪里,为什么 2 生命力那么顽强?
    这样就超越了一般 2 和 3 的泛泛讨论,会有一门语言的宏观认识,知道一门编程语言牵扯到的设计、社区、历史、同类语言等等方方面面,到时候 Python 的版本号叫什么,有什么关系?
    lrh3321
        46
    lrh3321  
       2016-11-21 08:52:56 +08:00
    3 很多老库没人维护了。所以不支持 3 ,但 3 下面一般有替代用的库
    setonfocus
        47
    setonfocus  
       2016-11-21 08:55:24 +08:00
    web 选 3 ,软件 选 2
    liuwenju
        48
    liuwenju  
       2016-11-21 09:39:41 +08:00
    linux 发行版本默认什么就选什么
    crazykuma
        49
    crazykuma  
       2016-11-21 10:11:31 +08:00
    月经贴。。
    自学学 3 ,因为毕竟是新版本有很多新特性
    但是 2 也建议学一下,以防万一
    tinyproxy
        50
    tinyproxy  
       2016-11-21 10:40:54 +08:00
    之前写了两年 2 ,最近新开的坑转移到 3 去了,主要是 2 的 str 太烦人了。如果你不知道,随便挑一个先学就好了,只要不是整个项目都要从 2 迁移到 3 这种情况, 2->3 没有任何问题。
    itxp
        51
    itxp  
       2016-11-21 11:26:47 +08:00
    讲师。。。
    我一同学现在是北大青鸟讲师,
    项目都没做几个,整天跟我说自己啥也不会,给他外包的活都不敢做。
    所以后来跑去当讲师了。
    salmon5
        52
    salmon5  
       2016-11-21 11:33:22 +08:00
    看是什么工种,职业 python 开发,就 3 ,
    如果是职业运维就 2 ,毕竟现在服务器 centos6,7 都是 2.6,2.7 , 2 还能再战 3-4 年。
    wyntergreg
        53
    wyntergreg  
       2016-11-21 12:24:07 +08:00
    很靠谱的说, 3 的库数量最近已经超 2 了
    lilydjwg
        54
    lilydjwg  
       2016-11-21 12:42:35 +08:00
    学 3 ,换到 2 ,是忍痛割爱;
    学 2 ,换到 3 ,是各种报错。
    wensonsmith
        55
    wensonsmith  
       2016-11-21 13:18:12 +08:00
    真尼玛受不了了,月经贴就罢了,楼主你不会去搜搜?

    自学 python 应该学 2 还是 3 ?: t/289061

    新手学习 python ,是学 python2 好,还是 python3 呢?: t/101035

    Python2.7 还是 3.5 。纠结: t/236665

    一个老生常谈的问题,学 python2 还是 python3 : t/204529

    学个 python 给你矫情的,还学 2 学 3 ,整天发些月经贴,你能学啥??
    suueyoung
        56
    suueyoung  
       2016-11-21 14:49:47 +08:00
    不兼容的话就靠同学你写出兼容的 code 了. (拍肩.
    koche
        57
    koche  
       2016-11-21 16:01:45 +08:00
    3 , 大部分都兼容了。
    asen477
        58
    asen477  
       2016-11-21 16:31:38 +08:00
    语言来讲 2 , 3 基础都差不多,只是运行环境及库,新的特性,有所区别。
    如果新手学习,当然建议从 3 学起
    milugt
        59
    milugt  
       2016-11-21 16:36:15 +08:00 via iPhone
    3
    视频键程还是别看了 用处不大还慢
    geektony
        60
    geektony  
       2016-11-21 20:46:56 +08:00
    我想问问,如果是机器学习方向呢?
    kushao1267
        61
    kushao1267  
       2016-11-22 16:30:03 +08:00
    @Yinz async ,awit,好像在 2 里面表示为 yield from...什么的, asyncio 的文档里有些
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1536 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 16:33 PVG 00:33 LAX 08:33 JFK 11:33
    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