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

Google Python Style Guide

  •  
  •   soulhacker ·
    neolee · Apr 19, 2012 · 7068 views
    This topic created in 5321 days ago, the information mentioned may be changed or developed.
    16 replies  •  1970-01-01 08:00:00 +08:00
    ayanamist
    ayanamist
    Apr 19, 2012
    1
    禁用了所有Python的magic特性是亮点
    lackrp
    lackrp
    Apr 19, 2012
    2
    @ayanamist 什么是magic特性啊?望不吝赐教
    tioover
    tioover
    Apr 19, 2012
    3
    @lackrp
    @ayanamist
    **kwargs & *args 算不算
    gastlygem
    gastlygem
    Apr 20, 2012
    4
    @ayanamist 神马是 magic 特性?我只知道类的保留方法函数被称为 magic method,就是带双下划线,用来实现类的特殊功能的那种. 比如 __add__, __lt__。

    参考:http://www.rafekettler.com/magicmethods.html

    这个文档只是不让你使用长得像 magic method 的 method 名称,例如 __mymethod__ 之类,以防和真正的 magic method 混淆,影响代码可读性。

    @lackrp

    @tioover 不算。
    bhuztez
    bhuztez
    Apr 20, 2012
    5
    @gastlygem magic method 相当于是协议,你需要用的时候还是逃不掉的。比如 pickle 就定义了好几个呢。
    tioover
    tioover
    Apr 20, 2012 via Android
    6
    @gastlygem pylint说算,还扣分………
    gastlygem
    gastlygem
    Apr 20, 2012
    7
    @bhuztez 那倒是。不过文档说的意思是不要用下面的方式给普通 method 命名,因为它们是被 Python 保留的。

    __double_leading_and_trailing_underscore__ names (reserved by Python)

    @tioover PyLint 就别提了吧,默认配置各种warning……
    vicalloy
    vicalloy
    Apr 20, 2012
    9
    PyLint默认配置warning实在太多,没注释啥的都warning。
    要用还真需要认真配置一番。
    同事翻译了这文章的中文版
    http://codinn.com/projects/google-python-style-guide/view/
    gastlygem
    gastlygem
    Apr 20, 2012
    10
    @ayanamist 晕,不是没仔细看,而是没人把这些叫做“magic 特性”。
    ayanamist
    ayanamist
    Apr 20, 2012
    11
    @gastlygem 那应该叫什么?
    felinx
    felinx
    Apr 20, 2012
    12
    基本按照pep8来,除了个别写sql的超过80个字符。
    gastlygem
    gastlygem
    Apr 20, 2012
    13
    @ayanamist 嗯,俺又想了想,这些花哨的高级功能其实叫 magic 可以,不过毕竟也没有一个约定俗成词专门来称呼,提到时还是加个解释比较好 :)
    ayanamist
    ayanamist
    Apr 20, 2012
    14
    @gastlygem 不都是把Ruby里这些花里胡哨的东西称为magic么……
    reus
    reus
    Apr 20, 2012
    15
    @ayanamist ruby鼓励这种方式所以以magic褒之,python不鼓励所以也没人把这些叫magic
    ayanamist
    ayanamist
    Apr 20, 2012
    16
    @reus dark magic也是magic嘛
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1191 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 17:47 · PVG 01:47 · LAX 09:47 · JFK 12:47
    ♥ Do have faith in what you're doing.