Python代码规范
一:背景
用于规范化ocp python开发,对于使用python开发的程序使用统一的风格,便于代码的维护
二:python风格规范
- 分号:不要在行尾加分号,也不要用分号将两条命令放在同一行
- 括号:宁缺毋滥的使用括号。除非是用于实现行连接,否则不要在返回语句或者条件语句中使用括号,不过在元组两边使用括号是允许的
- 缩进:用4个空格来代替缩进代码。绝对不要用tab,也不要tab和空格混用。对于行连接的情况,你应该要么垂直对齐换行的元素,或者使用4空格的悬进式缩进(这时第一行不应该有参数)
- 空行:顶级定义之间空两行,比如函数或者类定义。方法定义,类定义与第一个方法之间,都应该空一行。函数或者方法中,某些地方要是你觉得合适,就空一行
- 空格:按照标准的排版规范来使用标点两边的空格。括号内不要有空格;不要在逗号、分号、冒号前边加空格,但应该在它们后边加(除了在行尾);参数列表、索引或者切片的左括号不应加空格;在二元操作符两边都加上一个空格,比如赋值(=),比较(==, <, >, !=, <>, <=, >=, in, not in, is, is not),布尔(and, or, not)。至于算术操作符两边的空格该如何使用,需要你自己好好判断。不过两侧务必要保持一致;当’=’用于指示关键字参数或默认参数值时,不要在其两侧使用空格;不要用空格来垂直对齐多行间的标记,因为这会成为维护的负担(适用于:, #, =等)
- 类:如果一个类不继承自其它类,就显示的从object类继承
- 字符串:即使参数都是字符串,使用%操作符或者格式方法格式化字符串,不要使用+的方式
- 导入方式:每个导入独占一行。导入总应该放在文件顶部,位于模块注释和文档字符串之后,模块全局变量和常量之前。导入应该按照最通用到最不通用的顺序分组:标准库导入;第三方库导入;应用程序指定导入,每个分组中应该根据每个模块的完整包路径按照字典顺序排序,忽略大小写
- 语句:通常每个语句应该独占一行。如果测试结果与测试语句在一行放得下,也可以将它们放在一行。如果是if语句,只有在没有else时才能这样做。特别地,绝对不要对try/except这样做,因为try和except不能放在同一行。
- 命名:ob_module_name ob_package_name ObClassName TestObClassName method_name test_method_name ExceptionName function_name GLOBAL_VAR_NAME instance_var_name function_parameter_name local_var_name
- 其它点待后续补充
三:要求:
- 代码修改后必须先跑pylint再发起review,pylint跑分要控制在90之上,对于一些显而易见的不合规范之处必须修正
- pylint使用:在obztools目录下执行tools/pylint.sh file
四:参考:
Python代码规范的更多相关文章
- 老李分享:pep8 python代码规范
老李分享:pep8 python代码规范 什么是PEPPEP是 Python Enhancement Proposal 的缩写,翻译过来就是 Python增强建议书 . PEP8 译者:本文基于 20 ...
- python代码规范与标准库参考
python代码规范与标准库参考 python代码规范参考文献: http://www.runoob.com/w3cnote/google-python-styleguide.html https:/ ...
- Python代码规范问题及解决
Python代码规范问题及解决 为了养成使用Python编程好习惯,尽量保证自己写的代码符合PEP8代码规范,下面是过程中报出的警告及解决方法,英文有些翻译不太准确见谅,会不断更新: PEP 8 只是 ...
- Python代码规范之---代码不规范,亲人两行泪
任何语言的程序员,编写出符合规范的代码,是开始程序生涯的第一步! 关于代码规范 Python 官方提供有一系列 PEP(Python Enhancement Proposals) 文档 其中第 8 篇 ...
- Python代码规范(PEP8)问题及解决
转载:https://blog.csdn.net/Jason_Lewis/article/details/75386598 最近刚刚接触Python,为了养成好习惯,尽量保证自己写的代码符合PEP8代 ...
- python代码规范整理
规范参考源: 1.pep8(python代码样式规范):中文文档 https://blog.csdn.net/ratsniper/article/details/78954852 2.pep ...
- python代码规范 自动优化工具Black
自动优化工具Black 在众多代码格式化工具中,Black算是比较新的一个,它***的特点是可配置项比较少,个人认为这对于新手来说是件好事,因为我们不必过多考虑如何设置Black,让 Black 自己 ...
- python代码规范以及函数注释规范
摘要 本文给出主Python版本标准库的编码约定.CPython的C代码风格参见PEP7.本文和PEP 257 文档字符串标准改编自Guido最初的<Python Style Guide&g ...
- python代码规范和命名规范
一.简明概述 1.编码 如无特殊情况, 文件一律使用 UTF-8 编码 如无特殊情况, 文件头部必须加入#-*-coding:utf-8-*-标识 2.代码格式 2.1.缩进 统一使用 4 个空格进行 ...
随机推荐
- 用filter()筛选出素数
'use strict'; function get_primes(arr) { return arr.filter(function isPrime(number) { if (typeof num ...
- Linux mysql启动与关闭
service mysql stop service mysqld start
- maven中settings文件的配置
鉴于上一个博客写的maven打包,读者老爷们可能找不到settings文件的配置,这里专门附上settings文件的配置: 有的settings文件只含有一些空标签,需要手动去配置. <?xml ...
- git之解决冲突
前面几次使用git,一直对于冲突的这个问题不是很理解,感觉有些时候就会产生冲突,在此记录一下解决冲突的流程 1.git bash上面冲突显示 2.在idea上面可以看到冲突的文件 3.去解决冲突 4. ...
- Ehcache缓存实例
一:目录 EhCache 简介 Hello World 示例 Spring 整合 Dummy CacheManager 的配置和作用 二: 简介 1. 基本介绍 EhCache 是一个纯Java的进程 ...
- dfs Gym - 100989L
AbdelKader enjoys math. He feels very frustrated whenever he sees an incorrect equation and so he tr ...
- 【转】在Ubuntu 16.10 Server 上部署 Moodle
第一步 安装 Ubuntu 16.10 Server LTS Moodle 的官方文档肯定了Ubuntu Server LTS 是适合运维Moodle平台的. 1.使用纯代码交互的服务器Ubuntu更 ...
- 初步学习pg_control文件之五
接前文 初步学习pg_control文件之四,继续看何时出现 DB_IN_CRASH_RECOVERY: 看下面代码就比较清楚了:如果对 InArchiveRecovery 判断值为假,而且 读取出 ...
- 通过py2exe打包python程序的过程中,解决的一系列问题
py2exe的使用方法参考<py2exe使用方法>. 注:程序可以在解释器中正常运行,一切问题都出在打包过程中. 问题1: 现象:RuntimeError: maximum recursi ...
- 【C#】 RBAC 权限框架
[C#] RBAC 权限框架 一. 名词解释 1. 用户 : 登录的账号, 和角色挂钩,可拥有多个角色 2. 角色 : 账号所属的角色, 和权限挂钩,可拥有多个权限 3. 权限 : 角色拥有的操作权限 ...