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

现在入门 Python 的话,现在的话是着手于 Python 3 还是 Python 2?

  •  
  •   misaka00251 · 2017-07-16 22:58:12 +08:00 · 10145 次点击
    这是一个创建于 2691 天前的主题,其中的信息可能已经有所发展或是发生改变。

    感觉是一个很傻(引战)的问题 ;w;

    顺便问问有没有什么书籍及其它的教学资源推荐 ;w;

    第 1 条附言  ·  2017-07-19 16:58:15 +08:00
    想了想还是学 Python 3,感谢大家的回复!;w;
    114 条回复    2017-07-19 16:56:29 +08:00
    1  2  
    gy134340
        1
    gy134340  
       2017-07-16 23:04:29 +08:00
    3
    7sDream
        2
    7sDream  
       2017-07-16 23:09:25 +08:00
    3
    datxiaoy
        3
    datxiaoy  
       2017-07-16 23:09:50 +08:00
    3
    just1
        4
    just1  
       2017-07-16 23:10:11 +08:00 via Android
    3
    0asis
        5
    0asis  
       2017-07-16 23:13:46 +08:00 via iPhone   ❤️ 5
    为了面向 print 的 debug 方便,选 python2
    congeec
        6
    congeec  
       2017-07-16 23:16:22 +08:00
    为嘛会有这种问题?
    aheadlead
        7
    aheadlead  
       2017-07-16 23:16:24 +08:00
    3
    wafm
        8
    wafm  
       2017-07-16 23:21:33 +08:00
    3
    NoAnyLove
        9
    NoAnyLove  
       2017-07-16 23:23:37 +08:00
    3
    hzw94
        10
    hzw94  
       2017-07-16 23:24:32 +08:00
    为什么要往后学
    Kilerd
        11
    Kilerd  
       2017-07-16 23:28:29 +08:00 via iPhone
    python 4
    queuey
        12
    queuey  
       2017-07-16 23:28:59 +08:00 via iPhone
    23333
    tyfulcrum
        13
    tyfulcrum  
       2017-07-16 23:30:41 +08:00
    est
        14
    est  
       2017-07-16 23:34:56 +08:00 via iPhone
    six
    DoraJDJ
        15
    DoraJDJ  
       2017-07-16 23:42:29 +08:00
    Python 3
    upczww
        16
    upczww  
       2017-07-16 23:59:17 +08:00 via iPhone
    3
    yech1990
        17
    yech1990  
       2017-07-17 00:33:15 +08:00 via Android
    现在是 2017 年 7 月 17 日

    3
    mysticzt123
        18
    mysticzt123  
       2017-07-17 01:00:12 +08:00
    3
    BiscuitMiner
        19
    BiscuitMiner  
       2017-07-17 02:11:57 +08:00
    3
    Manchester
        20
    Manchester  
       2017-07-17 02:29:22 +08:00
    「感觉是一个很傻(引战)的问题 ;w;」

    ——是很傻,但不是引战

    『顺便问问有没有什么书籍及其它的教学资源推荐 ;w;』

    —— http://www.baidu-x.com/?q=python3+%E6%95%99%E7%A8%8B+
    flaneurse
        21
    flaneurse  
       2017-07-17 03:08:04 +08:00 via Android
    毫无疑问是 3
    cxbig
        22
    cxbig  
       2017-07-17 03:14:05 +08:00
    3
    zetary
        23
    zetary  
       2017-07-17 06:04:09 +08:00 via Android
    3
    blueset
        24
    blueset  
       2017-07-17 06:43:56 +08:00 via Android
    3
    lxml
        25
    lxml  
       2017-07-17 06:53:23 +08:00   ❤️ 2
    告诉你一个 Tips,Python3 发布于已经近十年了,类比下,我很难想象现在买电脑,会问买预装 Win10 的好还是 Xp 的好。
    gulangyu
        26
    gulangyu  
       2017-07-17 07:14:11 +08:00 via Android
    b 站小甲鱼零基础入门 python 不错
    shiroming
        27
    shiroming  
       2017-07-17 07:28:26 +08:00 via Android   ❤️ 1
    找工作 2 自己搞事情 3
    southwolf
        28
    southwolf  
       2017-07-17 07:44:02 +08:00
    然而 像 [Graphite]( https://github.com/graphite-project/graphite-web) 之类的“主流”工具至今还不支持 Py3
    Perry
        29
    Perry  
       2017-07-17 07:45:35 +08:00 via iPhone
    这个问题放几年前问很多人可能还会说 2 😄
    ShawnRong
        30
    ShawnRong  
       2017-07-17 07:48:22 +08:00
    记得装个 pyenv 方便切换版本
    mimzy
        31
    mimzy  
       2017-07-17 07:56:48 +08:00 via Android
    @southwolf 还是要看到 95% 的「主流」工具已经支持 Python 3 了嘛 http://py3readiness.org
    southwolf
        32
    southwolf  
       2017-07-17 07:59:31 +08:00
    @mimzy 问题是 py3 已经发布十年了啊…
    sagaxu
        33
    sagaxu  
       2017-07-17 08:04:40 +08:00 via Android
    @southwolf 那有什么要紧的? Python 用户日常用的软件,几乎都不是 Python 做的
    kindjeff
        34
    kindjeff  
       2017-07-17 08:07:03 +08:00 via iPhone   ❤️ 1
    Python 是最好的两门语言!
    snnn
        35
    snnn  
       2017-07-17 08:11:00 +08:00
    2
    snnn
        36
    snnn  
       2017-07-17 08:11:30 +08:00
    Linux 下大部分用 tensorflow 的人都在用 python2。
    donething
        37
    donething  
       2017-07-17 08:11:55 +08:00 via Android
    不建议你学 py,去学 PHP 吧。那里才是你的天堂
    Betacoefficient
        38
    Betacoefficient  
       2017-07-17 08:22:11 +08:00   ❤️ 2
    2,推荐 3 的人心态不对,中国人大部分还是用 2 的多,话说 2 学会了研究他们之间的区别也要不了多长时间啊
    就怕你时间都用在纠结语言的问题上,而啥都没有会那就尴尬了。
    julyclyde
        39
    julyclyde  
       2017-07-17 08:39:41 +08:00
    @Betacoefficient 为什么中国人用 2 的多,新人就要学 2 呢?眼界好窄
    tankb52
        40
    tankb52  
       2017-07-17 08:41:40 +08:00
    @Betacoefficient

    其实当年中国人用 IE6 的也多。
    araraloren
        41
    araraloren  
       2017-07-17 08:46:52 +08:00
    Nim - The next python
    NoAnyLove
        42
    NoAnyLove  
       2017-07-17 08:50:33 +08:00
    我本来是期待着整齐的队形,一路的 3 下来。。。。。。结果。。。。。。
    evil4ngl3
        43
    evil4ngl3  
       2017-07-17 08:51:18 +08:00
    轮子哥说过,Python 是最好的两门语言。。。(逃。。
    weer0026
        44
    weer0026  
       2017-07-17 09:00:34 +08:00
    都学~~
    cat9life
        45
    cat9life  
       2017-07-17 09:02:56 +08:00
    233333~
    Takahashi
        46
    Takahashi  
       2017-07-17 09:13:31 +08:00
    刚学习建议 2,因为网上大部分资料版本都是 2 的。。
    haogefeifei
        47
    haogefeifei  
       2017-07-17 09:18:37 +08:00   ❤️ 1
    都学,还是有写强大的框架只支持 Python2 的。 尽量用 3 写就行了
    misaka00251
        48
    misaka00251  
    OP
       2017-07-17 09:19:47 +08:00
    @NoAnyLove 哇……这楼看的我好纠结,真的
    hand515
        49
    hand515  
       2017-07-17 09:20:17 +08:00
    开始是学 3 的,但发现公司机器都只有 2,而且有些库只支持 2,所以,无奈还是用回了 2
    misaka00251
        50
    misaka00251  
    OP
       2017-07-17 09:20:32 +08:00
    @Manchester 记得以前网上有一个网页版的教程,貌似是翻译过来的,找了半天没找到 ;w;
    misaka00251
        51
    misaka00251  
    OP
       2017-07-17 09:22:27 +08:00
    @lxml 3 的历史有这么久了吗……前几年看市面上还是各种 python 2
    alphadog619
        52
    alphadog619  
       2017-07-17 09:23:42 +08:00
    3 3 3
    madiks
        53
    madiks  
       2017-07-17 09:25:54 +08:00
    都学
    ydxred
        54
    ydxred  
       2017-07-17 09:28:16 +08:00
    学习 ,就要学新的东西...
    sagaxu
        55
    sagaxu  
       2017-07-17 09:29:48 +08:00
    @hand515 我公司机器也都是 2.6,用 2 也没法用一些库,所以我全部都安装了 3.6
    fengfisher3
        56
    fengfisher3  
       2017-07-17 09:30:12 +08:00
    33333333333333
    mansur
        57
    mansur  
       2017-07-17 09:33:05 +08:00
    什么时候 centos 上自带的 python 变成 3 了,你就可以学 3 了,现在还是 2 吧,公司用的 centos6.5 上 python 还是 2.6 呢。工作上的程序都是 2 写的,难道你新进公司把之前大家的程序都改写成 3 ?学 3,到时候找不到工作别怪我没提醒
    wangfeng3769
        58
    wangfeng3769  
       2017-07-17 09:34:52 +08:00
    都一样的 个人认为。
    operafans
        59
    operafans  
       2017-07-17 09:37:41 +08:00
    感觉 py2 在变量申明的规范上要比 3 宽松很多啊
    lgpqdwjh
        60
    lgpqdwjh  
       2017-07-17 09:41:05 +08:00
    3

    @mansur 难道小哥你会因为一个版本的差异在工作上就束手无策了?
    sagaxu
        61
    sagaxu  
       2017-07-17 09:41:31 +08:00
    @mansur 2.6 连 Django 都不支持了,Django2.0 开始只支持 3.5 以上版本。

    工作上的程序都是 2 写的,那只是你们公司,有些公司已经开始用 3 了。

    老代码不能迁移到 3 ? https://thenewstack.io/instagram-makes-smooth-move-python-3/

    而且熟悉 3 的人,就不能找 2 的工作了?
    scriptB0y
        62
    scriptB0y  
       2017-07-17 09:42:01 +08:00
    3
    voocel
        63
    voocel  
       2017-07-17 09:43:27 +08:00
    还真是两门语言
    panda1001
        64
    panda1001  
       2017-07-17 09:44:28 +08:00 via Android
    推荐新人用 3 是政治正确?
    ryd994
        65
    ryd994  
       2017-07-17 09:47:58 +08:00   ❤️ 1
    会编程的人,学个 Python 闭着眼睛就能学会
    2 和 3 的区别根本就不需要考虑
    换个语法而已,编程的精髓是不变的
    2 和 3 的区别只有 RTFM 的时候看哪个 manual 而已
    halfcoder
        66
    halfcoder  
       2017-07-17 09:49:31 +08:00   ❤️ 1
    @lxml #25
    Python3 发布了近十年也还没法充分替换 Python2,这是什么问题呢
    mansur
        67
    mansur  
       2017-07-17 09:51:10 +08:00
    @lgpqdwjh 并不想把大量的老代码都改掉,况且大部分都是别的同事负责的部分,人家也没离职。

    @sagaxu 不会 python 的也可以找 python 的工作,这里说的学习成本
    Betacoefficient
        68
    Betacoefficient  
       2017-07-17 09:54:15 +08:00
    @mansur 那你们公司要这样的人么,不会 python 的。
    GoBeyond
        69
    GoBeyond  
       2017-07-17 09:55:22 +08:00 via Android
    3
    mansur
        70
    mansur  
       2017-07-17 09:56:27 +08:00
    @Betacoefficient 你公司要?
    panda1001
        71
    panda1001  
       2017-07-17 10:02:29 +08:00 via Android
    @sagaxu
    拿 python 做运维的话
    现在 c7 仍然是预装 2.7 c6 还没完全退役 所以还得兼容 2.6
    lxml
        72
    lxml  
       2017-07-17 10:03:44 +08:00   ❤️ 3
    @halfcoder Chrome 也发布了十年,IE6 份额也不小 ,Vs Studio 都出到 2017 了,中国高校不乏用 VC 6.0 的,PHP 也出到 7 了,我看用 5 的也不少嘛。Google、微信、鸟哥需要反思么?反正受累的要么是自己,要么是服务器,人家作者该干啥干啥。

    既然问答对象是新人,大家都知道比较蛋疼的第一个坑就是 Bytes / String,既然 3 已经解决了这个问题,为什么还要去 2 蹚浑水呢,学会了 3,再倒退回 2 可比一开始就学 2 容易得多。

    至于上面 @mansur 这位贴主说工作上的程序都是 2,找不到工作不要怪我没提醒,显然太偏激了,Python 门类那么多,据我身边了解,机器学习方面用 2 的比较多,但爬虫方面显然 3 居多,2016 年 jet 做过一次统计,3 已经接近 2 的比例,五五开了,总还是有找到工作的嘛。
    yang2yang
        73
    yang2yang  
       2017-07-17 10:09:11 +08:00
    先学 3,遇到 2 的代码学 2,不就可以了,反正转换的成本并不高啊
    sagaxu
        74
    sagaxu  
       2017-07-17 10:11:30 +08:00   ❤️ 1
    @panda1001 运维必须用系统自带的 python,不能统一部署一个其他版本?
    iszero
        75
    iszero  
       2017-07-17 10:20:52 +08:00 via Android
    随便啦,没那么大区别
    ansheng
        76
    ansheng  
       2017-07-17 10:20:58 +08:00
    3
    juneszh
        77
    juneszh  
       2017-07-17 10:28:03 +08:00
    最近在撸 opencv 也是入门 py3,没什么门槛,那些说教程都是 py2 的是因为用百度?
    就是直接运行 py2 的代码,看看报错就知道怎么修改了
    lolizeppelin
        78
    lolizeppelin  
       2017-07-17 10:28:49 +08:00   ❤️ 1
    运维先学 2 就好
    运维可以参考的最好的运维管理框架就是 openstack
    抄会 openstack 的代码就能上一大台阶,估计能吊打不少 python 开发

    openstack 目前是 2 的,有转 3 的趋势
    等 openstack 转 3 了跟着就是.....
    quietin
        79
    quietin  
       2017-07-17 10:40:53 +08:00
    4
    Yaoyo
        80
    Yaoyo  
       2017-07-17 11:36:07 +08:00
    其实会一个另外一个就会了。。并无所谓
    aristotll
        81
    aristotll  
       2017-07-17 12:19:02 +08:00
    会 Python3 的我不信不会 Python2 没办法历史代码太多了
    litter123
        82
    litter123  
       2017-07-17 12:32:06 +08:00
    两个区别不是十分巨大,会任何一个都没问题(都能切到另一个(除非有些特殊库(这我也没办法))),向 3 靠一般就问题少一点,出问题就 GG
    ivechan
        83
    ivechan  
       2017-07-17 13:04:23 +08:00
    @snnn 那是为了照顾一些用 Python2 的人,事实上几乎所有深度学习框架都完美支持 Python3,
    或者说是针对 Python3 开发,兼容 Python2.
    viator42
        84
    viator42  
       2017-07-17 13:12:19 +08:00
    其实 3 也没比 2 先进到哪去.编码问题依旧存在,外加一堆的库不兼容.初学上 3 是自找麻烦
    Jackeriss
        85
    Jackeriss  
       2017-07-17 13:23:55 +08:00
    @halfcoder 因为没有向后兼容,所以只能慢慢过渡。
    ququ888
        86
    ququ888  
       2017-07-17 14:03:07 +08:00
    3
    sacuba
        87
    sacuba  
       2017-07-17 15:01:23 +08:00
    主要看想干嘛了,写点简单的脚本,用用而已还是学 2 把 个人感觉
    anyfucker
        88
    anyfucker  
       2017-07-17 15:02:17 +08:00
    你把 2 和 3 当两种不同的语言对待就行了
    sshpandas
        89
    sshpandas  
       2017-07-17 15:23:44 +08:00
    本来不想回复的,因为答案太明显了。但是看到有人说什么“学 Python 3 当心找不到工作”,忍不住来说一句。说这话的人,要么就是傻,要么就是坏,要么就是 both.
    mansur
        90
    mansur  
       2017-07-17 16:11:40 +08:00
    @sshpandas 你既傻又坏?
    hwsdien
        91
    hwsdien  
       2017-07-17 16:12:44 +08:00
    Python 3
    halfcoder
        92
    halfcoder  
       2017-07-17 16:36:10 +08:00
    @lxml #72
    PHP7 还没出多久。其它几个倒确实值得反思,IE6 和 VC6 为什么能在其最辉煌时期达到那样的地位,而即使后来的版本更好也没法充分替代。当然也可以不反思,作者该干啥干啥,搞成两门语言嘛。
    hagezhou
        93
    hagezhou  
       2017-07-17 16:36:11 +08:00 via iPhone
    我个人建议还是 2,虽然 3 有很多新特性,但企业代码大部分还是 2 啊,学了 2 再熟悉 3 也是分分钟的事情
    JesseYuan
        94
    JesseYuan  
       2017-07-17 16:39:01 +08:00
    看个人情况和项目情况,我反正学习的 3
    TangMonk
        95
    TangMonk  
       2017-07-17 17:05:08 +08:00
    先学 2,再学 3
    xinlai
        96
    xinlai  
       2017-07-17 17:11:05 +08:00
    学习的时候不要纠结哪个版本,顺眼就行,踩坑了就知道哪个了(逃
    yanze0613
        97
    yanze0613  
       2017-07-17 18:31:06 +08:00
    3
    maomo
        98
    maomo  
       2017-07-17 18:37:06 +08:00
    两个一起学
    anson2416
        99
    anson2416  
       2017-07-17 18:39:51 +08:00 via iPhone
    @gulangyu
    @maomo 看视频好慢
    gulangyu
        100
    gulangyu  
       2017-07-17 18:53:04 +08:00 via Android
    @anson2416 哈哈哈哈哈,慢?那您就歇歇吧,不适合学
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3136 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:33 · PVG 22:33 · LAX 06:33 · JFK 09:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.