python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python编码规范

python基础之编码规范总结

作者:florachy

今天带大家来学习python基础知识,文中对python编码规范作了详细的介绍,对正在学习python的小伙伴们很有帮助,需要的朋友可以参考下

一、PEP 8规范

官方文档:https://legacy.python.org/dev/peps/pep-0008/
中文翻译: https://www.jb51.net/article/103944.htm

二、缩进

每一级缩进4个空格。

续行应该与包裹元素对齐,要么使用圆括号,方括号,花括号内的隐式行连接来垂直对齐,要么使用挂行缩进对齐。当使用挂行缩进对齐时,应该考虑到第一行不应该有参数,以及使用缩进以区分自己是续行。

def long_function_name(var_one, var_two,
                       var_three, var_four):
    print(var_one)
def long_function_name(
       var_one, var_two,
       var_three, var_four):
   print(var_one)
def long_function_name(
      var_one, var_two, var_three,
      var_four):
  print(var_one, var_two, var_three, var_four)

三、行的最大长度

所有行限制的最大字符数为79

没有结构化限制的大块文本(文档字符或者注释),每行的最大字符数限制在72。

with open("file1", "r") as f1, \
        open("file2", "r") as f2:
    f2.write(f1.read())

四、空行

顶层函数和类定义,前后用两个空行隔开。

类里面方法定义用一个空行隔开。

class Class01:
    pass


class Class02:
    def function_01(self):
        pass

    def function_02(self):
        pass

五、命名约定

变量命名

函数命名

类命名

类里面函数和方法参数

六、字符串引号

单引号和双引号字符串是相同的。PEP不会为这个给出建议。选择一条规则并坚持使用下去。当一个字符串中包含单引号或者双引号字符串的时候,使用和最外层不同的符号来避免使用反斜杠,从而提高可读性。

模块和包导入规范

模块导入建议

示例 结果
from modu import * 差, 不清楚具体从模块中导入了哪些内容
from modu import sqrt 稍好
import modu 最佳 , 调用的时候直接使用modu.sqrt能比较清楚的知道当前方法属于哪个模块。
import os \n import sys 推荐
import os, sys 不推荐
from subprocess import Popen, PIPE 也可以

__all__变量

七、包

八、注释

与代码相矛盾的注释比没有注释还糟,当代码更改时,优先更新对应的注释!
注释应该是完整的句子。如果一个注释是一个短语或者句子,它的第一个单词应该大写,除非它是以小写字母开头的标识符(永远不要改变标识符的大小写!)。
如果注释很短,结尾的句号可以省略。块注释一般由完整句子的一个或多个段落组成,并且每句话结束有个句号。
在句尾结束的时候应该使用两个空格。
在非英语国家的python程序员,请使用英文写注释,除非120%的确信你的代码不会被使用其他语言的人阅读。

块注释

块注释通常适用于跟随它们的某些(或全部)代码,并缩进到与代码相同的级别。块注释的每一行开头使用一个#和一个空格(除非块注释内部缩进文本)。

块注释内部的段落通常只有一个#的空行分隔。

行内注释

有节制地使用行内注释

行内注释是与代码语句同行的注释。行内注释和代码至少要有两个空格分隔。注释由#和一个空格开始。

文档注释

要为所有的公共模块,函数,类和方法编写文档说明。

非公共的方法没有必要,但是应该有一个描述方法具体作用的注释。这个注释应该在def那一行之后。

PEP257描述了写出好的文档注释的相关约定。特别需要注意的是:多行文档注释使用的结尾三引号应该是自成一行,例如:

"""这是注释
注释的具体内筒
"""
 对于单行的文档说明,尾部的三引号应该和文档在同一行。

到此这篇关于python基础之编码规范总结的文章就介绍到这了,更多相关python编码规范内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文