参考资料:英文https://legacy.python.org/dev/peps/pep-0008/

中文https://blog.csdn.net/ratsniper/article/details/78954852

https://www.bilibili.com/video/BV1vK4y1C7rs?from=search&seid=5677796270567931885

https://www.bilibili.com/video/BV1Tx411Z7A9?from=search&seid=2644072763393012132

检查代码规范:命令行模式下,pycodestyle +文件,即可返回代码中的问题

  • 代码布局
  1. 每一级缩进使用4个空格
  2. 使用代码缩进方式分割代码块
  3. 制表符只能用在同样适用制表符缩进的代码保持一致
  4. 不允许同时使用空格和制表符的缩进
  5. 行限制的最大字符数为79
  6. 文档字符或注释最大字符数是72。用括号换行,若是字符串相加则在运算符之前换行;使用\进行换行
  7. 插入空行,顶层函数和类的定义,前后用两个空行隔开
  8. 类里的方法定义用一个空行隔开
  9. 变量赋值和导入声明之间插入空行
  10. 函数调用尽量放在一起
  11. import导入,推荐一行导入一个包
  12. 从一个包里导入两个模块,可以写在一行,eg. from urllib import request, parse
  13. 导入总是位于文件的顶部,在模块注释和文档字符串之后,在模块的全局变量与常量之前
  14. 文档说明+空1行+导入包+空2行+函数
  15. 避免通配符的导入,如from bumpy import *
  16. 表达式和语句中的空格:避免使用无关的空格,紧跟在小括号、中括号或大括号后不能加空格;紧贴在逗号、分号或冒号前没有空格;紧贴在函数参数的左括号前没有空格;两个参数之间要加空格;参数内部赋值等号前后不加空格;变量定义赋值时等号前后都要加空格
  17. 赋值、+=等、比较、in、not前后也都要加空格。eg.3 >= 1
  18. 表达式和语句中要有空格,混合运算中优先级高的就不加空格,eg. x=x*2 - 1
  19. 避免行写多个语句
  20. 类和top-level函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行;其他地方尽量不要再空行
  • 命名规范
  1. 从任务出发进行命名--完成什么任务
  2. 使用英文单词命名,不要使用英文简拼
  3. 不要害怕过长的命名变量
  4. 避免重复使用变量名表示不同的对象
  5. 不能使用内建名称,使其在当前命名空间被屏蔽,避免导入的包名和变量名冲突
  6. 避免使用o和I,容易与0和1混淆
  7. 避免使用大小写区分不同对象,可使用下划线进行区分,提高可读性
  8. 命名风格:单个小写字母或单个大写字母,小写单词eg lowercase, 多个小写单词 lowe_case_with,大写单词 UPPERCASE,用下划线分割的大写字母UPPER_CASE_WITH_UNFET.
  9. 大写字母表示常量
  10. 另:命名分割-CamelCase eg. CapitalizedWords,此时首字母大写的风格用到缩写时,所有的缩写字母要用大写,如HTTPS everError而非HttpSeverError; mixedCase, 第一个字母首字母小写,其他大写。
  11. 特殊格式:单下划线开头表示内部使用指示器;单下划线结尾避免与python内部关键词冲突;双下划线开头表示不能直接访问;双下划线开头,双下划线结尾,表示magic对象或存在与用户控制的命名空间内的属性,如__init__。
  12. 函数名-小写的英文单词,如果有多个单词则用下划线隔开
  13. 类名-首字母大写
  14. 函数和方法的参数,self-实例方法的第一个参数,cls-类静态方法的第一个参数
  15. python包和模块要用简短全小写的名字
  16. 大部分内置变量是单个单词,首字母大写的命名法之用于异常名(后变加Erro)或内部的常量
  • 注释原则
  1. 注释应是完整的句子
  2. 注释尽量使用英文进行
  3. 注释短时,结尾的句号可以参略,块注释一般由完整句子的一个或多个段落组成,每句话结束有句号
  4. 句尾结束时应使用两个空格
  5. 注释:应该是完整的句子,第一个单词应该大写
  6. #块注释即对一段代码的解释,写在代码上面
    用多行写注释,每行前要写#,#后要有空格;分段时,空一行#,再向下写#行注释,很短
    对一行单独的注释,代码+2个空格+#+空格#文档注释
    文档最开头,在#-*- coding:utf-8 -*-下有
    函数文档注释
    ‘’‘
    ’‘’
  7. 有节制使用行内注释
  8. 要为所有公共模块、函数、类和方法写文档说明,非公共方法没必要,描述方法具体作用的注释,在def那行之后
  9. 文档注释要描述方法的功能、对参数、返回值和可能的异常进行说明,目的是让使用这个方法的人仅看文档就能知道正确用法
  10. 把不需要的代码直接删除,而不要注释
  • 编程惯用习惯
  • 软件使用规范:

bin--启动软件入口

conf-配置文件

core-核心业务逻辑代码

db-存放数据文件和操作数据的代码文件

lib-存放公共的功能

log-存放日志的文件

python代码规范---PEP8(python enhancement proposal)相关推荐

  1. python | 代码规范 | PEP8文档翻译整理

    说明1:vscode可以下载安装插件,实现自动pep8格式化,有需要的可以去试试: 说明2:用gitlab作为代码管理工具的时候,可以在本地仓库中设置一些参数,每次commit之前,会检查自己的代码, ...

  2. python代码规范工具_Python代码规范Flake8的简单示例

    这篇文章主要为大家详细介绍了Python代码规范Flake8的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...

  3. python代码规范_合格搬砖工

    python代码规范 采用PEP8规范 1.#注释:对代码进行注解说明 位置:正上方,正后方 pycharm快捷键:Ctrl+/ 2.'''多行注释''' 位置:加在文件开头,对文件进行整体说明 3. ...

  4. Python 代码规范

    前言 Python 学习之旅,先来看看 Python 的代码规范,让自己先有个意识,而且在往后的学习中慢慢养成习惯 目录 Python代码规范 一.简明概述 1.编码 如无特殊情况, 文件一律使用 U ...

  5. python 编码规范 PEP8整理

    我是用Python的IDE:pycharm来编写Python代码的,用IDE编写代码有一个好处就是语法高亮,智能提示.Python的代码样式规范称之为PEP 8规范,每次编写代码如果有出现不符合PEP ...

  6. Python代码规范和命名规范

    http://www.imooc.com/article/19184?block_id=tuijian_wz#child_5_1 Python代码规范和命名规范 前言 Python 学习之旅,先来看看 ...

  7. python代码规范链接

    python代码规范 https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_sty ...

  8. python编码规范手册-python之(8)Python编码规范整理

    我是用Python的IDE:pycharm来编写Python代码的,用IDE编写代码有一个好处就是语法高亮,智能提示.Python的代码样式规范称之为PEP 8规范,每次编写代码如果有出现不符合PEP ...

  9. 用Python代码自己写Python代码,竟如此简单

    用Python代码自己写Python代码,竟如此简单 Python作为一门功能强大且使用灵活的编程语言,可以应用于各种领域,具有"无所不能"的特质. Python甚至可以代替人,自 ...

  10. pythonencoding etf-8_etf iopv python 代码30个Python常用小技巧

    1.原地交换两个数字x, y =10, 20 print(x, y) y, x = x, y print(x, y) 10 20 20 10 2.链状比较操作符n = 10 print(1 print ...

最新文章

  1. python3.7 6如何安装-Python 3.7.1在CentOS 6.10 安装部署
  2. 移动互联网长连接方案实例
  3. 15行代码AC——Link/Cut Tree CodeForces - 614A(爆long long处理+快速幂讲解)
  4. WTMPlus 1.1 发布
  5. qt绘制一圈圆_Qt绘制圆形,矩形等图形   绘制同心圆
  6. Webpack4: Tree-shaking 深度解析
  7. MacOSX系统怎么开启Root账户?Mac电脑开启root权限教程
  8. Dubbo思维导图知识点整理
  9. MySQL的下载安装教程
  10. 【折腾向】手动更换笔记本散热铜管
  11. libyuv的编译使用
  12. 一文搞明白DNS与域名解析
  13. java adsl 拨号_Java实现ADSL拨号上网
  14. SCAU软件开发基础C++复习
  15. C语言实现(小米面试题)给定一个句子(只包含字母,空格,逗号和句号), 将句子中的单词位置反转,符号不变。(使用指针)
  16. 短视频矩阵/短视频SEO矩阵系统源码/系统搭建
  17. 列车停站方案_城市轨道交通列车停站方案
  18. 用Python制作一个文件加密器(支持中文)
  19. 全方位解读小红书笔记数据、千瓜功能指南更新!
  20. 《运筹学基础》的思维导图

热门文章

  1. Excel--查找、替换及定位
  2. js报错未定义的ajax,ReactJS和AJAX未捕获TypeError:无法读取未定义的属性'错误'
  3. UserWarning: Usage of dash-separated ‘script-dir‘ will not be supported in future versions. 笔记
  4. 我的十年 Oracle DBA 奋斗路 - 回首向来萧瑟处,也无风雨也无晴
  5. 面象对象的系统设计之一
  6. A。资源库和运行时表结构(5)---JBPM4.4数据库表解释
  7. Si5395/94/92时钟芯片配置步骤
  8. AJAX框架眼镜穿搭夏天,30度的夏天,男生应该如何穿搭?看这9种时尚组合!
  9. html求相关系数,关于pearson相关系数的意义
  10. jvm gc垃圾回收情况