python PEP8 代码规范总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kele_imon/article/details/87930613

1.缩进

1.1 使用4个空格作为一个缩进层次

1.2 当需要换行时,续行应该和所包含的元素垂直对齐或者使用悬垂缩进,也就是第一行不应该有任何参数,续行业应该有缩进  来明确其作为一个续航。

例如:

# 对齐
foo = long_function_name(var_one, var_two,
                         var_three, var_four)
# 比之后的内容多一层缩进
def long_function_name(
        var_one, var_two, var_three,
        var_four):
    print(var_one)

# 悬垂的缩进,多加一层
foo = long_function_name(
    var_one, var_two,
    var_three, var_four)
# 另外其实有一种可选情况,也就是悬垂缩进可以缩进不为4个空格,比如用两个

2 换行

2.1 if的条件过长需要换行时使用以下几种方案

# 没有额外缩进
if (this_is_one_thing and
    this_is_another_thing):
    do_something

# 加上一行注释来使得编辑器更容易支持语法高亮
if (this_is_one_thing and
    this_is_another_thing):
    # 在这里加上一行注释
    do_something()

# 在续行使用额外的缩进
if (this_is_one_thing
        and that_is_another_thing):
    do_something()

2.2 列表元素之类的需要后括号结束的,后括号要么和元素对齐,要么定格。

# 和元素对齐
my_list = [
    1, 2, 3,
    4, 5, 6,
    ]
result = some_function_that_takes_arguments(
    'a', 'b', 'c',
    'd', 'e', 'f',
    )

#顶格
my_list = [
    1, 2, 3,
    4, 5, 6,
]
result = some_function_that_takes_arguments(
    'a', 'b', 'c',
    'd', 'e', 'f',
)

2.3 是否用Tab或者空格。

尽量使用空格,除非你需要和之前就用TAB的代码保持一致。(py3允许tab和空格混用)

2.4 换行的位置和二元运算符怎么处理

二元运算符在换行符之后,也就是说,换行之后的续行一开始是二元运算符

income = (gross_wages
          + taxable_interest
          + (dividends - qualified_dividends)
          - ira_deduction
          - student_loan_interest)

3 最大行长度

3.1 对于所有行来说,最长79字符

3.2 对于文档字符串或者注释,最长72字符

3.3 太长的就用backslash换行处理,换行规则在上面

4 合理使用空行

4.1 顶层函数以及类定义和其他部分用两个空行隔开

4.2 类之内的方法定义用一个空行隔开

4.3 对于一组相关的函数和其他之间可以有额外的空行

4.4 可以使用空行来区分逻辑块

5 源代码编码

编码真的是头疼到爆炸

5.1 python3 使用utf-8,python2使用ascii

5.2 python3已经使用utf-8,python2已经使用ascii的源代码不应该有编码声明

后续再更新吧。因为对他的进行了整理和补充,所以标为原创,若有异议,留言即可。感谢知识分享。

参考博客:https://blog.csdn.net/qq_29343201/article/details/54660570

猜你喜欢

转载自blog.csdn.net/kele_imon/article/details/87930613