python代码规范---PEP8(python enhancement proposal)
参考资料:英文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 +文件,即可返回代码中的问题
- 代码布局
- 每一级缩进使用4个空格
- 使用代码缩进方式分割代码块
- 制表符只能用在同样适用制表符缩进的代码保持一致
- 不允许同时使用空格和制表符的缩进
- 行限制的最大字符数为79
- 文档字符或注释最大字符数是72。用括号换行,若是字符串相加则在运算符之前换行;使用\进行换行
- 插入空行,顶层函数和类的定义,前后用两个空行隔开
- 类里的方法定义用一个空行隔开
- 变量赋值和导入声明之间插入空行
- 函数调用尽量放在一起
- import导入,推荐一行导入一个包
- 从一个包里导入两个模块,可以写在一行,eg. from urllib import request, parse
- 导入总是位于文件的顶部,在模块注释和文档字符串之后,在模块的全局变量与常量之前
- 文档说明+空1行+导入包+空2行+函数
- 避免通配符的导入,如from bumpy import *
- 表达式和语句中的空格:避免使用无关的空格,紧跟在小括号、中括号或大括号后不能加空格;紧贴在逗号、分号或冒号前没有空格;紧贴在函数参数的左括号前没有空格;两个参数之间要加空格;参数内部赋值等号前后不加空格;变量定义赋值时等号前后都要加空格
- 赋值、+=等、比较、in、not前后也都要加空格。eg.3 >= 1
- 表达式和语句中要有空格,混合运算中优先级高的就不加空格,eg. x=x*2 - 1
- 避免行写多个语句
- 类和top-level函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行;其他地方尽量不要再空行
- 命名规范
- 从任务出发进行命名--完成什么任务
- 使用英文单词命名,不要使用英文简拼
- 不要害怕过长的命名变量
- 避免重复使用变量名表示不同的对象
- 不能使用内建名称,使其在当前命名空间被屏蔽,避免导入的包名和变量名冲突
- 避免使用o和I,容易与0和1混淆
- 避免使用大小写区分不同对象,可使用下划线进行区分,提高可读性
- 命名风格:单个小写字母或单个大写字母,小写单词eg lowercase, 多个小写单词 lowe_case_with,大写单词 UPPERCASE,用下划线分割的大写字母UPPER_CASE_WITH_UNFET.
- 大写字母表示常量
- 另:命名分割-CamelCase eg. CapitalizedWords,此时首字母大写的风格用到缩写时,所有的缩写字母要用大写,如HTTPS everError而非HttpSeverError; mixedCase, 第一个字母首字母小写,其他大写。
- 特殊格式:单下划线开头表示内部使用指示器;单下划线结尾避免与python内部关键词冲突;双下划线开头表示不能直接访问;双下划线开头,双下划线结尾,表示magic对象或存在与用户控制的命名空间内的属性,如__init__。
- 函数名-小写的英文单词,如果有多个单词则用下划线隔开
- 类名-首字母大写
- 函数和方法的参数,self-实例方法的第一个参数,cls-类静态方法的第一个参数
- python包和模块要用简短全小写的名字
- 大部分内置变量是单个单词,首字母大写的命名法之用于异常名(后变加Erro)或内部的常量
- 注释原则
- 注释应是完整的句子
- 注释尽量使用英文进行
- 注释短时,结尾的句号可以参略,块注释一般由完整句子的一个或多个段落组成,每句话结束有句号
- 句尾结束时应使用两个空格
- 注释:应该是完整的句子,第一个单词应该大写
#块注释即对一段代码的解释,写在代码上面 用多行写注释,每行前要写#,#后要有空格;分段时,空一行#,再向下写#行注释,很短 对一行单独的注释,代码+2个空格+#+空格#文档注释 文档最开头,在#-*- coding:utf-8 -*-下有 函数文档注释 ‘’‘ ’‘’
- 有节制使用行内注释
- 要为所有公共模块、函数、类和方法写文档说明,非公共方法没必要,描述方法具体作用的注释,在def那行之后
- 文档注释要描述方法的功能、对参数、返回值和可能的异常进行说明,目的是让使用这个方法的人仅看文档就能知道正确用法
- 把不需要的代码直接删除,而不要注释
- 编程惯用习惯
- 软件使用规范:
bin--启动软件入口
conf-配置文件
core-核心业务逻辑代码
db-存放数据文件和操作数据的代码文件
lib-存放公共的功能
log-存放日志的文件
python代码规范---PEP8(python enhancement proposal)相关推荐
- python | 代码规范 | PEP8文档翻译整理
说明1:vscode可以下载安装插件,实现自动pep8格式化,有需要的可以去试试: 说明2:用gitlab作为代码管理工具的时候,可以在本地仓库中设置一些参数,每次commit之前,会检查自己的代码, ...
- python代码规范工具_Python代码规范Flake8的简单示例
这篇文章主要为大家详细介绍了Python代码规范Flake8的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...
- python代码规范_合格搬砖工
python代码规范 采用PEP8规范 1.#注释:对代码进行注解说明 位置:正上方,正后方 pycharm快捷键:Ctrl+/ 2.'''多行注释''' 位置:加在文件开头,对文件进行整体说明 3. ...
- Python 代码规范
前言 Python 学习之旅,先来看看 Python 的代码规范,让自己先有个意识,而且在往后的学习中慢慢养成习惯 目录 Python代码规范 一.简明概述 1.编码 如无特殊情况, 文件一律使用 U ...
- python 编码规范 PEP8整理
我是用Python的IDE:pycharm来编写Python代码的,用IDE编写代码有一个好处就是语法高亮,智能提示.Python的代码样式规范称之为PEP 8规范,每次编写代码如果有出现不符合PEP ...
- Python代码规范和命名规范
http://www.imooc.com/article/19184?block_id=tuijian_wz#child_5_1 Python代码规范和命名规范 前言 Python 学习之旅,先来看看 ...
- python代码规范链接
python代码规范 https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_sty ...
- python编码规范手册-python之(8)Python编码规范整理
我是用Python的IDE:pycharm来编写Python代码的,用IDE编写代码有一个好处就是语法高亮,智能提示.Python的代码样式规范称之为PEP 8规范,每次编写代码如果有出现不符合PEP ...
- 用Python代码自己写Python代码,竟如此简单
用Python代码自己写Python代码,竟如此简单 Python作为一门功能强大且使用灵活的编程语言,可以应用于各种领域,具有"无所不能"的特质. Python甚至可以代替人,自 ...
- 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 ...
最新文章
- python3.7 6如何安装-Python 3.7.1在CentOS 6.10 安装部署
- 移动互联网长连接方案实例
- 15行代码AC——Link/Cut Tree CodeForces - 614A(爆long long处理+快速幂讲解)
- WTMPlus 1.1 发布
- qt绘制一圈圆_Qt绘制圆形,矩形等图形 绘制同心圆
- Webpack4: Tree-shaking 深度解析
- MacOSX系统怎么开启Root账户?Mac电脑开启root权限教程
- Dubbo思维导图知识点整理
- MySQL的下载安装教程
- 【折腾向】手动更换笔记本散热铜管
- libyuv的编译使用
- 一文搞明白DNS与域名解析
- java adsl 拨号_Java实现ADSL拨号上网
- SCAU软件开发基础C++复习
- C语言实现(小米面试题)给定一个句子(只包含字母,空格,逗号和句号), 将句子中的单词位置反转,符号不变。(使用指针)
- 短视频矩阵/短视频SEO矩阵系统源码/系统搭建
- 列车停站方案_城市轨道交通列车停站方案
- 用Python制作一个文件加密器(支持中文)
- 全方位解读小红书笔记数据、千瓜功能指南更新!
- 《运筹学基础》的思维导图
热门文章
- Excel--查找、替换及定位
- js报错未定义的ajax,ReactJS和AJAX未捕获TypeError:无法读取未定义的属性'错误'
- UserWarning: Usage of dash-separated ‘script-dir‘ will not be supported in future versions. 笔记
- 我的十年 Oracle DBA 奋斗路 - 回首向来萧瑟处,也无风雨也无晴
- 面象对象的系统设计之一
- A。资源库和运行时表结构(5)---JBPM4.4数据库表解释
- Si5395/94/92时钟芯片配置步骤
- AJAX框架眼镜穿搭夏天,30度的夏天,男生应该如何穿搭?看这9种时尚组合!
- html求相关系数,关于pearson相关系数的意义
- jvm gc垃圾回收情况