V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
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
ca1123
V2EX  ›  Python

Python 编程最大的坑是什么?

  •  
  •   ca1123 · Dec 16, 2015 · 7191 views
    This topic created in 3794 days ago, the information mentioned may be changed or developed.
    是什么啊~
    44 replies    2015-12-17 21:46:50 +08:00
    lanzhiheng
        1
    lanzhiheng  
       Dec 16, 2015
    2.7 > 3.4 0.0
    mimzy
        2
    mimzy  
       Dec 16, 2015
    czheo
        3
    czheo  
       Dec 16, 2015
    GIL ?
    est
        4
    est  
       Dec 16, 2015
    最大的坑就是 LZ 这种挖直坑的。。。
    hahastudio
        5
    hahastudio  
       Dec 16, 2015
    icedx
        6
    icedx  
       Dec 16, 2015
    最大的坑就是楼主认为它有坑
    felinx
        7
    felinx  
       Dec 16, 2015
    楼主挖了一个好大一个 Python 的坑
    Akagi201
        8
    Akagi201  
       Dec 16, 2015
    GIL, 性能, 2/3 分裂, 2 的编码问题, 2 没有原生支持并发.
    deadEgg
        9
    deadEgg  
       Dec 16, 2015
    python 2 编码
    就是个笑话
    chai2010
        10
    chai2010  
       Dec 16, 2015
    tab 和空白
    MrEggNoodle
        11
    MrEggNoodle  
       Dec 16, 2015
    我个人觉得还是 2 和 3 的分裂。
    momo1999
        12
    momo1999  
       Dec 16, 2015
    2 和 3 的分裂导致了很多人不敢学,这就是最大的坑吧,还不如直接宣布不再支持 2 。
    initialdp
        13
    initialdp  
       Dec 16, 2015
    除了 GIL ,没感觉 Python 有什么坑啊。
    fregen
        14
    fregen  
       Dec 16, 2015 via Android
    从此看其它的语法都不顺眼了
    imxiaozhi
        15
    imxiaozhi  
       Dec 16, 2015
    @chai2010 tab 和空白怎么了,一直在网上看到别人说这个,但是从没碰到过
    jixiangqd
        16
    jixiangqd  
       Dec 16, 2015
    python2 的编码确实是坑。。。无数次被坑
    chai2010
        17
    chai2010  
       Dec 16, 2015
    @imxiaozhi 非常不利于 Ctrl+C 和 Ctrl+V, 段落变化导致语义变化(语法可能还是对的).
    和 Makefile 的 \t 坑有得一拼.
    maguowei
        18
    maguowei  
       Dec 16, 2015
    @fregen +1
    clino
        19
    clino  
       Dec 16, 2015
    我觉得 2 3 分裂是最不好的
    当初要是慢慢演进 温水煮用户就好了
    zky001
        20
    zky001  
       Dec 16, 2015
    2 的编码, 3 的分裂
    Mark24
        21
    Mark24  
       Dec 16, 2015
    2 的编码,这个绝对绝对绝对!
    3 的分裂(其实 3 好用)
    缩进, tab ……其实把缩进调为可见,这个问题一般不是问题

    CPython 的多线程
    latyas
        22
    latyas  
       Dec 16, 2015
    在 py3.5 中 coroutinefunction 在经过 setattr 给一个 object 后会变成 generator object,导致 await 语句没法使用,然而这个 bug 只在 MacOS 中出现, linux 中没这个问题。

    本来想给官方提个 issue ,但是不知道怎么提 -> 这句话是我想说的最大的坑
    sun2920989
        23
    sun2920989  
       Dec 16, 2015   ❤️ 4
    据说看 python 书的必备工具是格尺......
    Wangxf
        24
    Wangxf  
       Dec 16, 2015
    我玩过小一阵子,还是不太习惯没有大括号的编程语言
    eamars
        25
    eamars  
       Dec 16, 2015
    两个编辑器要是使用不同的缩进格式,比如 2 , 4 , 8 , tab ,还是空格这种问题最操蛋了
    taozhijiangscu
        26
    taozhijiangscu  
       Dec 16, 2015
    恩,多线程就是个坑。。。。
    RTNelo
        27
    RTNelo  
       Dec 16, 2015
    @sun2920989 游标卡尺
    knightdf
        28
    knightdf  
       Dec 16, 2015
    2 , 3 的分裂,现在项目全是用的 2 ,但是我又想用下 3
    ca1123
        29
    ca1123  
    OP
       Dec 16, 2015
    大家讨论的好热烈
    wowpanda
        30
    wowpanda  
       Dec 16, 2015 via Android
    有人觉得 python 的官方文档做的很捉急么。最近看 socket 相关的,好多都不说清楚,说话说一截,真是浪费我不少时间。
    janxin
        31
    janxin  
       Dec 16, 2015
    最大的坑是那些复制代码的手足无措了
    kokutou
        32
    kokutou  
       Dec 16, 2015
    python2 的编码+1 。。。被坑过。。。
    yh7gdiaYW
        33
    yh7gdiaYW  
       Dec 16, 2015
    全局变量
    a = 1
    def add():
    a+=1
    然后就蹦出来一个 Error
    ms2008
        34
    ms2008  
       Dec 17, 2015
    说编码的,都是有故事的人
    Bealing
        35
    Bealing  
       Dec 17, 2015
    不管楼上说的是什么方面的坑,总而言之,一句话: Python 本身就是一个坑
    zyc841584303
        36
    zyc841584303  
       Dec 17, 2015
    2333333
    mckelvin
        37
    mckelvin  
       Dec 17, 2015 via iPhone
    人 + 1. 比如有 id, 有用字符串 "1", 有的用整形 1.
    MarioLuisGarcia
        38
    MarioLuisGarcia  
       Dec 17, 2015
    pynix
        39
    pynix  
       Dec 17, 2015
    2>3
    leavic
        40
    leavic  
       Dec 17, 2015
    string 和 unicode 问题,当然在 3 里总算统一了, 3 是个好语言,就是大家都还没那么快的转移到上面去。
    Felldeadbird
        41
    Felldeadbird  
       Dec 17, 2015
    最大坑就是 2 和 3 的兼容了。还有就是网上的教程 一部分 3 一部分 2. 初学者容易 被误导。 别以为直接学 2 不会被误导啊。一样会。哈哈
    introom
        42
    introom  
       Dec 17, 2015 via Android
    @wowpanda 文档是很差,虽然一大帮人负责文档,但文档格式规范从根本上导致文档可读性很差。

    然而话虽这么说,但是 python 的东西也没有必要过多依赖文档,直接看源代码好了,大部分源代码都很直接,就算不直接也或多或少有注释。
    jamiesun
        43
    jamiesun  
       Dec 17, 2015
    用 python 这么多年,让我几乎忘记多线程编程,基本不用多线程。 GIL 不是坑, GIL 让 python 产生了各种 Python 单线程性能屌爆的方案, gevent , twisted , tornado , pypy 等。单线程让编程更简单,多进程轻松整合。

    字符集这个倒真的有那么点麻烦,我倒是没什么,就是带徒弟学 python ,徒弟动不动拿这个烦我。
    billlee
        44
    billlee  
       Dec 17, 2015
    @wowpanda socket 的 API 就是直接从 BSD socket 拿过来的,所以没写多详细吧,其它 python 风格的库文档质量还是挺高的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6336 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 203ms · UTC 02:39 · PVG 10:39 · LAX 19:39 · JFK 22:39
    ♥ Do have faith in what you're doing.