PEP8 - 代码规范

  1. 缩进(indentation):使用四个空格表示每个缩进级别

    # 使用开分隔符(opening delimiter)进行对齐
    
    foo = long_func_name(var_one, var_two,
                         var_three, var_four)
    
    # 使用更多的缩进以和其他的代码单元区别开来
    # 如下例的,参数部分比函数体多四个缩进以和函数体进行区别
    def long_func_name(
            var_one, var_two, var_three,
            var_four)
        print(var_one)
    
    # 悬挂缩进(hanging indents):增加一个缩进级别
    foo = long_func_name(
        var_one, var_two,
        var_three, var_four)
    # 或者:
    foo = long_func_name(
        var_one, var_two,
        var_three, var_four
    )
    
    a = [1, 2, 3,
         4, 5, 6]
    a = [
        1, 2, 3,
        4, 5, 6
    ]
  2. 最大行长度(所有行的最大长度均为79个字符)
  3. 正确的换行位置。推荐在二元操作符(andor以及%)之后。

    class Rectangle(Shape):
        def __init__(self, width, height,
                     color=‘black‘, emphasis=None, highlight=0):
            if (width == 0 and height == 0 and
                    color == ‘red‘ and emphasis == ‘strong‘ or
                    height > 100):
                raise ValueError("sorry, you lose")
            if width == 0 and height == 0 and (color == ‘red‘ or emphasis is None):
                raise ValueError("I don‘t think so -- values are %s, %s" %
                                 (width, height))
            Shape.__init__(self, width, height, color,
                           emphasis, highlight)
  4. 空行
    • 顶级函数(当前文件中的第一个函数)或者顶级类(当前文件的第一个类)之前要有两个空行
    • 定义在类内部的函数(成员函数)之间要留有一个空行
    • 可以使用额外的空行(但要注意节制)以区分不同的函数组
    • 在一堆只有一行的函数之间不要使用空行(比如一些函数的空实现)
    • 在函数内部使用空行,来标识不同的逻辑单元
  5. import
    • 在独立的行引入独立的包
    • 但从一个包中添加不同的模块或者函数也是允许的
    • import文件应当总是位于文件的首部,仅在模块备注和文档之后,在模块的全局变量和常量之前的位置
    • import文件的顺序
    1. 标准库(sys, os)
    2. 相关的第三方库(numpy, pandas, matplotlib)
    3. 自定义的.py文件
      • 以组的形式标识上述三种import文件,也即是用一个空行隔开
      • 推荐使用绝对路径包含,因为可读性更好,并且不易出错。
  6. 字符串
    • 在python中,不对单引号和双引号作区分,PEP的代码规范也不对此有所推荐。任选其一,统一使用即可。然而,当一个字符串包含单引号或者双引号时,使用另外一种方式避免转义符(\)的使用,以提高可读性。
  7. 表达式中的空格
    • 在下述条件下,避免使用空格:
    1. 紧跟着大括号、中括号和小括号之前
    2. 紧连着逗号、分号、冒号之前
    3. 切片中的冒号
    4. 总是在如下的二元操作符的两边使用单空格:
      • 赋值  :  =
      • 增量赋值 : +=
      • 比较 :==    <       >    !=         <>         in          is
      • 布尔: and      or        not
      • 不要使用空格,当被用来标识一个关键字参数(使用函数)或者一个默认参数赋值(定义函数)
  8. 文档
    • 为所有公共模块或者函数、类以及方法编写文档。不必为非公共方法编写doc文档,但应有一个注释描述算法的功能,这条注释应当出现在def之后
    • 结尾的"""应当独占一行

原文地址:https://www.cnblogs.com/ls-2018/p/8971315.html

时间: 2024-08-30 04:02:18

PEP8 - 代码规范的相关文章

Python PEP8代码规范_20180614

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

Python代码规范(PEP8)问题及解决

安装了PyCharm,写代码过程中总是看到有波浪线,百度了下找到了这篇文章. 原文链接https://blog.csdn.net/Jason_Lewis/article/details/75386598 最近刚刚接触Python,为了养成好习惯,尽量保证自己写的代码符合PEP8代码规范,下面是过程中报出的警告及解决方法,英文有些翻译不太准确见谅,会不断更新: PEP 8: module level import not at top of file 解决:import不在文件的最上面,可能引用之

[python]pep8编码规范

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

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

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

Python规范:代码规范要注意

主要有以下两种代码规范 <8 号 Python 增强规范>(Python Enhacement Proposal #8),以下简称 PEP8: <Google Python 风格规范>(Google Python Style Guide),以下简称 Google Style,这是源自 Google 内部的风格规范.公开发布的社区版本,是为了让 Google 旗下所有 Python 开源项目的编程风格统一.(http://google.github.io/styleguide/pyg

分析一套源代码的代码规范和风格并讨论如何改进优化代码

工程实践选题是数据获取相关的,这里选择分析一个微信公众号爬虫的源代码. 一.源代码目录结构 目录结构比较清晰 1.bin存放关键代码 2.docs存放说明文件,比如界面说明,安装说明,使用说明,环境说明等 3.wechat这里是爬虫管理的代码,比如数量控制,链接控制 4.wechatspider存放爬虫代码,url获取与解析等 5.其他 一些配置文件和readme 二 .命名规则 1.文件名 可以看到是小驼峰命名法,getNewIp.py中首个单词首字母,第二个单词开始每个单词的的首字母大写 2

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,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回

作业三: 代码规范、代码复审、PSP

(1) 是否需要有代码规范         1.这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率, 浪费时间的东西.(反对) 答:首先编码规范 包括了编码风格和其它规范 一个团队遵守一些规范有很多的好处! (1). 遵守编码风格使代码更容易维护 (2). 编码风格使形成代码集体所有制(集体所有制的作用很大,它能有效的增大巴士因子——一个项目能承受多少个程序员被车撞了而不影响项目的正常进行) (3). 编码风格能消除那些长久的纷争(你不需要喜欢这种编码风格.如果你不喜欢里面的某条规

两人合作之代码规范

代码规范 现代软件经过几十年的发展,一个软件由一个人单枪匹马完成,已经很少见了,软件都是在相互合作中完成的.合作的最小单位是两个人,两个工程师在一起,做的最多的事情就是"看代码",每个人都能看"比人的代码",并且发表意见.但是每个人对于什么是"好"的代码规范未必认同,这时我们有必要给出一个基准线-----什么是好的代码规范和设计规范. 1,写干净整洁的代码 1.1 代码格式化,包括多级代码缩进.大括号(比如C系代码),为了提高代码的美观型和易读性