推荐学习书目
› 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
ThunderEX
V2EX  ›  Python

弱问:为什么PEP8要分多行导入?

  •  
  •   ThunderEX · Jan 18, 2013 · 4779 views
    This topic created in 5001 days ago, the information mentioned may be changed or developed.
    为什么PEP8说:
    Yes:
    import os
    import sys
    No:
    import os, sys
    10 replies  •  1970-01-01 08:00:00 +08:00
    m
        1
    m  
       Jan 18, 2013
    因为界定分隔符不是一件容易的事
    是否要在,后面加空格? ,号是否是类,包的路径名? 分隔符为什么不是;为什么不是:为什么不是/...
    规范的语法去掉所有歧义应该是每行一次import,如java的语法格式
    所以这种目的为了简化语法的使用分隔符一行导入并不严格的符合规范
    binux
        2
    binux  
       Jan 18, 2013
    方便dd
    ritksm
        3
    ritksm  
       Jan 18, 2013
    我觉得PEP8大部分限制的原因就是为了防止滥用导致代码质量降低。。。比如这个。。。那我可以把所有的import都写在一行了。。。还有一行的字符限制啥的。。。
    imcj
        4
    imcj  
       Jan 18, 2013
    我见过好多人喜欢在1行里面写很多代码.
    ThunderEX
        5
    ThunderEX  
    OP
       Jan 18, 2013
    @m 又觉得这种“简化语法”不就是人生苦短我用python的意义么……好像很矛盾……
    asxalex
        6
    asxalex  
       Jan 18, 2013
    @binux 有道理!!
    openroc
        8
    openroc  
       Jan 18, 2013
    没用过,我想大概是方便错误处理,如果import 里面有一个出错的话。
    Cofyc
        9
    Cofyc  
       Jan 18, 2013
    查看 diff 方便
    编辑也方便,比如删除一个 package,直接删除当前一行就行,不用在一行中找来找去
    BOYPT
        10
    BOYPT  
       Jan 18, 2013
    @ThunderEX Python简化的语法主要是为了容易看容易理解,而不是容易写。说容易写perl够精悍了,不过后续维护的可读性不高。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   875 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 21:49 · PVG 05:49 · LAX 14:49 · JFK 17:49
    ♥ Do have faith in what you're doing.