乐趣区

关于python:大名鼎鼎的Requests库用了什么编码风格

Requests 的代码库应用 PEP-8 编码格调。

除了 PEP-8 中列出的规范外,咱们还有一些领导准则:

如果不便的话,行长(Line-length)可超过 79 个字符,达到 100 个字符。

如果换行会导致重大的不不便,则行长能够超过 100 个字符。

除非在字符串中呈现单引号,否则始终应用单引号字符串(例如,’#flatearth’)。

此外,PEP-8 举荐的用于间断行的编码格调毫无一点品尝,绝不允许在 Requests 代码库用:

# 与开局定界符对齐
foo = long_function_name(var_one, var_two,
                         var_three, var_four)

No。千万别。请。

文档字符串(docstrings)应遵循以下语法:

def the_earth_is_flat():
    """NASA divided up the seas into thirty-three degrees."""
    pass

def fibonacci_spiral_tool():
    """With my feet upon the ground I lose myself / between the sounds
    and open wide to suck it in. / I feel it move across my skin. / I'm
    reaching up and reaching out. / I'm reaching for the random or
    whatever will bewilder me. / Whatever will bewilder me. / And
    following our will and wind we may just go where no one's been. /
    We'll ride the spiral to the end and may just go where no one's
    been.

    Spiral out. Keep going...
    """
    pass

所有函数、办法和类都要求蕴含 docstrings。除了对象数据模型办法(例如,__repr__),这些是此规定的例外。

Thanks for helping to make the world a better place!

K 神的这篇文章很短,实际上,这只是摘自 Requests 的开发者指南的一小部分。

然而,对于灵便设定行长的局部,我举双手双脚同意。如果你所在的公司有“清白盒”的优良传统(不仅指 Python),那你极有可能遇到被迫换行的麻烦,而实际上仅仅刚刚才只超出了几个字符。到那时候,你就会明确,这 3 条灵便规定的益处了。

另外,对于间断行的局部,PEP-8 相干内容在:http://t.cn/Rq4mxOo

PEP-8 拥护的是如下写法:

# Arguments on first line forbidden when not using vertical alignment.
# 不应用垂直对齐的参数禁止在第一行上
foo = long_function_name(var_one, var_two,
    var_three, var_four)

PEP-8 举荐的写法是垂直地将换行的参数对齐起始的参数:

# 与开局定界符对齐
foo = long_function_name(var_one, var_two,
                         var_three, var_four)

K 神拥护了 PEP-8 举荐的写法。在我看来,任何有品尝的人,都会拥护以上的两种写法。

即便一个办法的参数超级多,超出了 100 个字符,我自己也是极不愿意换行的。所以,K 神的说法深得我心。

对于代码格调,没有相对完全一致的规范。本文也不想引起争执。不过,我认同 K 神设定的规定,因为一种与支流不同的审美偏向,值得发现它的同类。

以上就是本次分享的所有内容,想要理解更多 python 常识欢送返回公众号:Python 编程学习圈 ,发送“J”即可收费获取,每日干货分享

退出移动版