Python最简编码规范

前言

本文是阅读《Python Coding Rule》之后总结的最为精华及简单的编码规范,根据每个人不同喜好有些地方会有不同的选择,我只是做了对自己来说最简单易行的选择,仅供大家参考。

重要原则

  1. 保持风格的一致性很重要,但最重要的是:知道何时不一致
  2. 打破一条既定规则的两个好理由:
    • 当应用规则会导致代码可读性下降(可读性赛高)
    • 为了和周围代码保持一致而打破规则(历史遗留)

最简规范

  1. 只使用空格缩进
  2. 使用UTF-8编码
  3. 每行只写一条语句
  4. 使用行末反斜杠折叠长行,限制每行最大79字符
  5. 导入包:每行唯一、从大到小、绝对路径
  6. 类内方法空1行分隔,类外空2行分隔
  7. 运算符除 * 外,两边空1格分隔,函数参数=周围不用空格
  8. 除类名使用驼峰法以外,其他模块、函数、方法、变量均使用全小写+下划线
  9. 1个前导下划线表示半公开,2个前导下划线表示私有,与保留字区分使用单个后置下划线
  10. 开发时使用中文注释,发布时再写英文文档

详细规范

全文通用

  1. 只使用空格缩进,4个空格表示1个缩进层次
  2. 每行长度限制在79字符内,使用行末反斜杠折叠长行
  3. 使用UTF-8编码
  4. 每行只写一条语句

代码命名

  1. 一行只import一个包,Imports的顺序为:标准库、相关主包、特定应用,每组导入之间放置1行空行,所有导入使用包的绝对路径
  2. 分割顶层函数和类的定义使用2行空行,分割类内方法定义使用1行空行,class行与第一个方法定义之间要有1行空行
  3. 整体使用英文书写方式来使用空格,即仅在逗号、分号后面添加1个空格,其他任何符号如圆括号、方括号、花括号等都不用空格把符号与字符分开,写在一起表示一个整体;运算符除 * 号以外,其他符号两边都各用1个空格分隔;函数参数=号周围不用空格
  4. 模块名:不含下划线、简短、全小写;类名、异常名:首字母大写单词串的驼峰法;函数名、全局变量名、方法名、实例变量:全小写,加下划线增加可读性;一个前导下划线仅用于不想被导入的全局变量(还有内部函数和类)前加一个下划线)、不打算作为类的公共接口的内部方法和实例变量;两个前导下划线以表示类私有的名字,只用来避免与类(为可以子类化所设计)中的属性发生名字冲突
  5. 私有属性必须有两个前导下划线,,无后置下划线;非公有属性必须有一个前导下划线,无后置下划线。公共属性没有前导和后置下划线,除非它们与保留字冲突,此情况下,单个后置下划线比前置或混乱的拼写要好,例如:class_优于klass。

编写技巧

  1. 与None之类的单值比较,永远用:‘is‘或‘is not‘来做:if x is not None
  2. 在模块和包内定义基异常类(base exception class)
  3. 使用字符串方法(methods)代替字符串模块
  4. 在检查前缀或后缀时避免对字符串进行切片,用startswith()和endswith()代替,如:No: if foo[:3] == ‘bar‘:Yes: if foo.startswith(‘bar‘):
  5. 只用isinstance()进行对象类型的比较,如:No: if type(obj) is type(1):Yes: if isinstance(obj, int)
  6. 判断True或False不要用 ==,如:No: if greeting == True:Yes: if greeting:

注释

  1. 开发时,注释全部用中文来写,当要发布脚本工具时,再写英文文档
  2. 注释应该是是完整的句子(短语也可),首字母大写;如果注释很短,省略末尾句号;注释块由一个or多个完整句子构成的段落组成,则每个句子使用句子结尾;句末句号后使用两个空格
  3. 注释块每行以#和一个空格开始,并且跟随注释的代码具有相同的缩进层次,注释块上下方有一空行包围
  4. 谨慎使用行内注释,至少使用两个空格与语句分开
  5. 使用 pydoc; epydoc; Doxgen 等文档化工具,为所有公共模块、函数、类和方法边写文档字符串,文档字符串对非公开的方法不是必要的,但你应该有一个描述这个方法做什么的注释,这个注释应该在"def"这行后
  6. 多行文档字符串结尾的""" 应该单独成行
  7. 版本注记:定义一个变量__version__ = "$Revision: 1.4 $"

原文地址:https://www.cnblogs.com/Chayeen/p/8884776.html

时间: 2024-10-08 23:17:50

Python最简编码规范的相关文章

python 的一些编码规范

1,代码的布局...最好4个空格一个缩进层次,不要用tab,用空格 2,行的最大长度...建议最大79字符,折叠长行首选的方法是使用反斜杠比较好看... 3,空行.... 3.1...用两行空行风格顶层函数和类的定义,类内的方法用单个空行分割 3.2..当空行用于分割方法的定义时,在class行和第一个方法定义之间也要有一个空行 4,导入, no:import sys,os yes: import sys import os 5,空格 5.1:   建议不要在以下地方出现空格:1,紧挨着圆括号,

Python PEP 8 编码规范中文版

原文链接:http://legacy.python.org/dev/peps/pep-0008/ 转发链接:https://blog.csdn.net/ratsniper/article/details/78954852 Introduction 介绍 A Foolish Consistency is the Hobgoblin of Little Minds 尽信书则不如无书 Code lay-out 代码布局 Indentation 缩进 Tabs or Spaces 制表符还是空格 Max

Python 常用 PEP8 编码规范和建议

代码布局 缩进 每级缩进用4个空格. 括号中使用垂直隐式缩进或使用悬挂缩进. EXAMPLE: # (垂直隐式缩进)对准左括号 foo = long_function_name(var_one, var_two, var_three, var_four) # (悬挂缩进) 一般情况只需多一层缩进 foo = long_function_name( var_one, var_two, var_three, var_four) # (悬挂缩进) 但下面情况, 需再加多一层缩进, 和后续的语句块区分开

Python PEP8 编码规范中文版-译自官网文件

写在前面(自补):初听PEP8一头雾水,不知所谓.啥是PEP8?为啥叫PEP8?PEP8是干啥的?-先了解下PEP吧. PEP是什么? PEP的全称是Python Enhancement Proposals,其中Enhancement是增强改进的意思,Proposals则可译为提案或建议书,所以合起来,比较常见的翻译是Python增强提案或Python改进建议书. 我个人倾向于前一个翻译,因为它更贴切.Python核心开发者主要通过邮件列表讨论问题.提议.计划等,PEP通常是汇总了多方信息,经过

说说Python编码规范

前言 已有近两个月没有发表过文章了,前段时间外甥和女儿过来这边渡暑假,平常晚上和周末时间都陪着她们了,趁这个周末有空,再抽空再把这块拾起来.         这么久没写了,再次拿起键盘,想想,发表些什么呢,想起上次公司的代码评审委员会下周其中一个议题是关于Python编码规范的整理,那就趁热打铁,整理一份关于Python编码规范的文章,也为那些写Python的人,提供一些编码注意的一些事项或者说是参考吧. 编码规范的作用         规范故明思义,就是通过不断的总结,吸取好的点,从而形成的一

PEP8 Python 编码规范

PEP8 Python 编码规范 一 代码编排 1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车.3 类和top-level函数定义之间空两行:类中的方法定义之间空一行:函数内逻辑无关段落之间空一行:其他地方尽量不要再空行. 二 文档编排 1 模块内容的顺序:模块说明和docstring-import-globals&constants-其他定义.其中import部

Python + OpenCV2 系列:3 - python 字符串,类,编码规范

首先,强烈推荐<<简明 Python 教程>> Swaroop, C. H. 著 沈洁元 译 其实,这本书里已经把python的最基本的用法,编码等等介绍的很好,这里把我用到的进行一下总结. 1. 字符串 连接 字符串数组 转义字符 Excellent Reference Link :http://www.w3cschool.cc/python/python-strings.html 字符串 ● 使用单引号(')你可以用单引号指示字符串,就如同'Quote me on this'这

python国际使用的编码规范

目前常用的编码规范为 PEP8 该规范的内容规定: 一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车.3 类和top-level函数定义之间空两行:类中的方法定义之间空一行:函数内逻辑无关段落之间空一行:其他地方尽量不要再空行. 二 文档编排1 模块内容的顺序:模块说明和docstring-import-globals&constants-其他定义.其中

python编码规范[转载]

PEP8 Python 编码规范 一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车.3 类和top-level函数定义之间空两行:类中的方法定义之间空一行:函数内逻辑无关段落之间空一行:其他地方尽量不要再空行. 二 文档编排1 模块内容的顺序:模块说明和docstring—import—globals&constants—其他定义.其中import部分,