python PEP8常用规范(看完你会感谢我的!)

完整的规范移步传送门

pep8规范?官方文档:[https://www.python.org/dev/peps/pep-0008/](https://www.python.org/dev/peps/pep-0008/)

PEP8中文翻译:http://www.cnblogs.com/ajianbeyourself/p/4377933.html


个人使用中常用的规范

一、代码编排

1)缩进。4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格。

2)每行最大长度79,换行可以使用反斜杠,最好使用圆括号。换行点要在操作符的后边敲回车。

3)类和top-level函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行;其他地方尽量不要再空行。

二、文档编排

1) 模块内容的顺序:模块说明和docstring—import—globals&constants—其他定义。其中import部分,又按标准、三方和自己编写顺序依次排放,之间空一行。

import os
import sys

from tcp_server import online_user
from threading import currentThread
from lib import common

from interface import common_interface, admin_interface, user_interface

...

2 )不要在一句import中多个库,比如import os, sys不推荐。

# 正确方式
import os
import sys
from subprocess import Popen, PIPE
# 错误方式
import os,sys

3) 如果采用from XX import XX引用库,可以省略‘module.’,都是可能出现命名冲突,这时就要采用import XX。

from myclass import MyClass
from foo.bar.yourclass import YourClass

# 如果和本地名字有冲突:
import myclass
import foo.bar.yourclass

三、空行的使用

总体原则,避免不必要的空格。

  • 各种右括号前不要加空格。
  • 逗号、冒号、分号不要加空格。
  • 函数的左括号不要加空格。如Func(1)。
  • 序列的左括号不要加空格。如list[2]。
  • 操作符左右各加一个空格,不要为了对齐增加空格。
  • 函数默认参数使用的赋值符左右省略空格
  • 不要将多句语句写在同一行.
  • if/for/while语句中,即使执行语句只有一句,也必须另起一行。

四、注释

总体原则,英文,简明。

  • 与代码自相矛盾的注释比没注释更差。修改代码时要优先更新注释!
  • 注释是完整的句子。如果注释是断句,首字母应该大写,除非它是小写字母开头的标识符(永远不要修改标识符的大小写)。
  • 如果注释很短,可以省略末尾的句号。注释块通常由一个或多个段落组成。段落由完整的句子构成且每个句子应该以点号(后面要有两个空格)结束,并注意断词和空格。
  • 非英语国家的程序员请用英语书写你的注释,除非你120%确信代码永远不会被不懂你的语言的人阅读。
  • 注释块通常应用在代码前,并和这些代码有同样的缩进。每行以 ‘# ‘(除非它是注释内的缩进文本,注意#后面有空格)。注释块内的段落用仅包含单个 ‘#‘ 的行分割。
  • 慎用行内注释(Inline Comments) 节俭使用行内注释。 行内注释是和语句在同一行,至少用两个空格和语句分开。行内注释不是必需的,重复罗嗦会使人分心。不要这样做:
  • # 正确写法
    x = x + 1  # Compensate for border
    # 错误写法
    x = x + 1  # do nothing

    五、命名

    总体原则,新编代码必须按下面命名风格进行,现有库的编码尽量保持风格。

    • b(单个小写字母)
    • B(单个大写字母)
    • lowercase(小写串)
    • lower_case_with_underscores(带下划线的小写)
    • UPPERCASE(大写串)
    • UPPER_CASE_WITH_UNDERSCORES(带下划线的大写串)
    • CapitalizedWords(首字母大写的单词串或驼峰缩写)
    • 类的方法第一个参数必须是self,而静态方法第一个参数必须是cls。
    • 注意: 使用大写缩写时,缩写使用大写字母更好。故 HTTPServerError 比 HttpServerError 更好
      mixedCase(混合大小写,第一个单词是小写)
    • Capitalized_Words_With_Underscores(带下划线,首字母大写,丑陋

    六 、编码建议

    1 )编码中考虑到其他python实现的效率等问题,比如运算符‘+’在CPython(Python)中效率很高,都是Jython中却非常低,所以应该采用.join()的方式。
    2) 尽可能使用‘is’‘is not’取代‘==’,比如if x is not None 要优于if x。
    3) 使用基于类的异常,每个模块或包都有自己的异常类,此异常类继承自Exception。
    4) 异常中不要使用裸露的except,except后跟具体的exceptions。
    5 )异常中try的代码尽可能少。比如:

    try:
        value = collection[key]
    except KeyError:
        return key_not_found(key)
    else:
        return handle_value(value)
    要优于
    try:
        return handle_value(collection[key])
    except KeyError:
        return key_not_found(key

    6 )使用startswith() and endswith()代替切片进行序列前缀或后缀的检查。比如:

    if foo.startswith('bar'):优于
    if foo[:3] == 'bar':

    7) 使用isinstance()比较对象的类型。比如

    if isinstance(obj, int): 优于
    if type(obj) is type(1):

    8 )判断序列空或不空,有如下规则

    Yes: if not seq:
    if seq:

    优于

    No: if len(seq)
    if not len(seq)

    9 )字符串不要以空格收尾。

    文章转自:https://www.cnblogs.com/limengjie0104/p/8991430.html

    原文地址:https://www.cnblogs.com/yanjiayi098-001/p/11774961.html

    时间: 2024-11-05 23:23:17

python PEP8常用规范(看完你会感谢我的!)的相关文章

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

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

PEP8 常用规范

PEP8 常用规范 完整的规范移步这里两个传送门 pep8规范 官方文档:https://www.python.org/dev/peps/pep-0008/ PEP8中文翻译:http://www.cnblogs.com/ajianbeyourself/p/4377933.html 个人使用中常用的规范 一.代码编排 1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格. 2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回

[python]pep8编码规范

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

(转)Python PEP8 编码规范中文版

转:https://blog.csdn.net/ratsniper/article/details/78954852 原文链接:http://legacy.python.org/dev/peps/pep-0008/ item detail PEP 8 Title Style Guide for Python Code Version c451868df657 Last-Modified 2016-06-08 10:43:53 -0400 (Wed, 08 Jun 2016) Author Gui

Python PEP8代码规范_20180614

PEP8 代码风格指南 知识点 代码排版 字符串引号 表达式和语句中的空格 注释 版本注记 命名约定 公共和内部接口 程序编写建议 1. 介绍 这份文档给出的代码约定适用于主要的 Python 发行版所有标准库中的 Python 代码.请参阅相似的 PEP 信息,其用于描述实现 Python 的 C 代码规范[1]. 这份文档和 PEP 257(文档字符串约定) 改编自 Guido 的 Python 风格指南原文,从 Barry 的风格指南里添加了一些东西[2]. 随着时间的推移,这份额外约定的

Python pep8 编码规范

pep8规范 官方文档:https://www.python.org/dev/peps/pep-0008/ PEP8中文翻译:http://www.cnblogs.com/ajianbeyourself/p/4377933.html 以下内容转自 https://www.douban.com/note/134971609/ PEP8 Python 编码规范 一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用

Python PEP8 编码规范中文版

原文链接:https://legacy.python.org/dev/peps/pep-0008/ 参考:https://blog.csdn.net/ratsniper/article/details/78954852 Code lay-out 代码布局 Indentation 缩进    Tabs or Spaces 制表符还是空格    Maximum Line Length 行的最大长度    Should a line break before or after a binary ope

Python PEP8 编码规范 表达式和语句中的空格

不能忍受的事情 在下列情况下,避免使用无关的空格: 紧跟在小括号,中括号或者大括号后. Yes: spam(ham[1], {eggs: 2}) No: spam( ham[ 1 ], { eggs: 2 } ) 紧贴在逗号.分号或者冒号之前. Yes: if x == 4: print x, y; x, y = y, x No: if x == 4 : print x , y ; x , y = y , x 然而,冒号在切片中就像二元运算符,在两边应该有相同数量的空格(把它当做优先级最低的操作

Python PEP8 编码规范 注释

与代码相矛盾的注释比没有注释还糟,当代码更改时,优先更新对应的注释!  注释应该是完整的句子.如果一个注释是一个短语或句子,它的第一个单词应该大写,除非它是以小写字母开头的标识符(永远不要改变标识符的大小写!).  如果注释很短,结尾的句号可以省略.块注释一般由完整句子的一个或多个段落组成,并且每句话结束有个句号.  在句尾结束的时候应该使用两个空格.  当用英文书写时,遵循Strunk and White (译注:<Strunk and White, The Elements of Style