我的 Python 编码规范

作者: 是程序员吖 | 来源:发表于2019-12-26 15:34 被阅读0次

    python 文件的组成

    为了便于描述,先上一个 demo

    Linux 平台上,一个 python 源码文件应该以下部分组成。Windows 平台上,可以省略第一项。

    解释器声明

    编码格式声明

    模块注释或文档字符串

    模块导入

    常量和全局变量声明

    顶级定义(函数或类定义)

    执行代码

    编码格式声明

    通常,编码格式声明是必需的。如果 python 源码文件没有声明编码格式,python 解释器会默认使用 ASCII 编码,一旦源码文件包含非ASCII编码的字符,python 解释器就会报错。以 UTF-8 为例,以下两种编码格式声明都是合乎规则的。

    # -*- coding: utf-8 -*-

    # coding = utf-8

    我一直 UTF-8 编码格式,喜欢使用第一种声明方式。

    Windows 平台上,编码格式声明必须位于 python 文件的第一行。Linux 平台上,编码格式声明通常位于 python 文件的第二行,第一行是 python 解释器的路径声明。

    缩进

    统一使用 4 个空格进行缩进。绝对不要用tab, 也不要tab和空格混用。对于行连接的情况,我一般使用4空格的悬挂式缩进。例如:

    引号

    自然语言使用双引号

    机器标识使用单引号

    正则表达式使用双引号

    文档字符串 (docstring) 使用三个双引号

    注释

    (#)号后空一格,段落件用空行分开(同样需要#号):

    行内注释,至少使用两个空格和语句分开:

    age += 1# 年龄增加一岁

    比较重要的注释段, 使用多个等号隔开, 可以更加醒目, 突出重要性:

    空行

    编码格式声明、模块导入、常量和全局变量声明、顶级定义和执行代码之间空两行

    顶级定义之间空两行,方法定义之间空一行

    在函数或方法内部,可以在必要的地方空一行以增强节奏感,但应避免连续空行

    空格

    在二元运算符两边各空一格,算术操作符两边的空格可灵活使用,但两侧务必要保持一致

    不要在逗号、分号、冒号前面加空格,但应该在它们后面加(除非在行尾)

    函数的参数列表中,逗号之后要有空格

    函数的参数列表中,默认值等号两边不要添加空格

    左括号之后,右括号之前不要加添加空格

    参数列表, 索引或切片的左括号前不应加空格

    文档字符串

    文档字符串是包、模块、类或函数里的第一个语句。这些字符串可以通过对象的doc成员被自动提取,并且被pydoc所用。文档字符串的使用三重双引号(""")。如果文档字符串内容不能在一行内写完,首行须以句号、 问号或惊叹号结尾,接一空行,结束的三重双引号必须独占一行。

    导入模块

    导入总应该放在文件顶部,位于模块注释和文档字符串之后,模块全局变量和常量之前。导入应该按照从最通用到最不通用的顺序分组,分组之间空一行:

    标准库导入

    第三方库导入

    应用程序指定导入

    应当避免使用以下的导入方法:

    frommathimport*

    命名规范

    模块尽量使用小写命名,首字母保持小写,尽量不要用下划线

    类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头

    在学习Python的过程中,往往因为没有资料或者没人指导从而导致自己不想学下去了,因此我特意准备了个群 592539176 ,群里有大量的PDF书籍、教程都给大家免费使用!不管是学习到哪个阶段的小伙伴都可以获取到自己相对应的资料!

    函数名一律小写,如有多个单词,用下划线隔开

    私有函数可用一个下划线开头

    变量名尽量小写, 如有多个单词,用下划线隔开

    常量采用全大写,如有多个单词,使用下划线隔开

    相关文章

      网友评论

        本文标题:我的 Python 编码规范

        本文链接:https://www.haomeiwen.com/subject/zhakoctx.html