PythonPEP8编码规范

英文教程:https://legacy.python.org/dev/peps/pep-0008/#a-foolish-consistency-is-the-hobgoblin-of-little-minds

中文教程:https://blog.csdn.net/ratsniper/article/details/78954852


代码编排

    1、缩进4个空格,禁止空格与Tab混用

    2、行长79,防止单行的逻辑过于复杂

if 1:

    pass

命名

    1、除非在lamdba函数中,否则不要使用单字母的变量名,但是即使在lamdba函数中变量名也要尽可能有意义

    2、包名、模块名、函数名全部使用小写,单词使用下划线链接

    3、类名、异常名使用首字母大写的方法,异常名结尾加Error或者Warning

    4、全局变量尽量使用大写,同一类型的全局变量要加同一的前缀,单词用下划线链接

    5、自定义的变量、函数名等不要与标准库名冲突

    6、函数名必须有动词,最好是do_something的句式或者somebody_do_something句式

COLOR_RED = 10

COLOR_BLUE = 11

f = lambda x: x+1

def func(x, y):

    pass

def get_money():

    pass

注释

    1、忌讳没有注释和逐行注释

    2、行内注释

        当行逻辑过于复杂添加

    3、块注释

        一段逻辑开始时注释

    4、引入外来算法或者配置时必须在注释中添加源链接,标明出处

    5、函数和类尽量添加docstring

def do_eat(x, y):

    print("------------")

空格

    1、:,;后面要跟一个空格,前面没有空格,行尾分号无需空格

    2、二元操作符前后各一个空格

        数学运算符、比较运算符、逻辑运算符、位运算符

    3、=的注意事项:用于指示关键字参数或默认参数值时,不要添加空格

a = 1

def f(x, y=1):

    pass

换行

    1、适当添加换行

    2、函数间

        1、顶级函数空间空2行

        2、类的方法空1行

    3、文件结尾留空一行

import

    1、不要使用from xxx import *

    2、导入顺序(标准库、第三方、自定义)

        a、标准库

        b、第三方库

        c、自定义库

    3、单行不要导入多个库

    4、模块内用不到的不要去import

字符串拼接

    1、拼接方法

        a、字符串相加    (性能最差)

        b、字符串格式化

        c、python3.6支持f操作符

            >>> a = 111

            >>> b=222

            >>> c=333

            >>> s = f"{a}-{b}-{c}"

            >>> s

            '111-222-333'

        d、join

    2、尽量使用join方法,因为速度快,内存消耗小

语义

    1、要求明确、直白

    not x in y

    x not in y

    not x is y

    x is not y

测试工具:

pep8:即将失效,用pycodestyle替换

pylint:更加严格,引入的包没有使用都可以检测出来

flake8:

猜你喜欢

转载自blog.csdn.net/qq_37235798/article/details/82349114
今日推荐