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

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

  •  
  •   ThunderEX · 2013-01-18 09:25:26 +08:00 · 3726 次点击
    这是一个创建于 4321 天前的主题,其中的信息可能已经有所发展或是发生改变。
    为什么PEP8说:
    Yes:
    import os
    import sys
    No:
    import os, sys
    10 条回复    1970-01-01 08:00:00 +08:00
    m
        1
    m  
       2013-01-18 09:32:57 +08:00
    因为界定分隔符不是一件容易的事
    是否要在,后面加空格? ,号是否是类,包的路径名? 分隔符为什么不是;为什么不是:为什么不是/...
    规范的语法去掉所有歧义应该是每行一次import,如java的语法格式
    所以这种目的为了简化语法的使用分隔符一行导入并不严格的符合规范
    binux
        2
    binux  
       2013-01-18 09:38:59 +08:00
    方便dd
    ritksm
        3
    ritksm  
       2013-01-18 09:42:29 +08:00
    我觉得PEP8大部分限制的原因就是为了防止滥用导致代码质量降低。。。比如这个。。。那我可以把所有的import都写在一行了。。。还有一行的字符限制啥的。。。
    imcj
        4
    imcj  
       2013-01-18 09:55:43 +08:00
    我见过好多人喜欢在1行里面写很多代码.
    ThunderEX
        5
    ThunderEX  
    OP
       2013-01-18 11:45:43 +08:00
    @m 又觉得这种“简化语法”不就是人生苦短我用python的意义么……好像很矛盾……
    asxalex
        6
    asxalex  
       2013-01-18 12:02:04 +08:00
    @binux 有道理!!
    clowwindy
        7
    clowwindy  
       2013-01-18 12:11:43 +08:00   ❤️ 1
    openroc
        8
    openroc  
       2013-01-18 12:43:15 +08:00
    没用过,我想大概是方便错误处理,如果import 里面有一个出错的话。
    Cofyc
        9
    Cofyc  
       2013-01-18 12:49:50 +08:00
    查看 diff 方便
    编辑也方便,比如删除一个 package,直接删除当前一行就行,不用在一行中找来找去
    BOYPT
        10
    BOYPT  
       2013-01-18 16:19:54 +08:00
    @ThunderEX Python简化的语法主要是为了容易看容易理解,而不是容易写。说容易写perl够精悍了,不过后续维护的可读性不高。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2211 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 01:35 · PVG 09:35 · LAX 17:35 · JFK 20:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.