官网规范:https://www.python.org/dev/peps/pep-0008/

1、不在同一句import中引用多个库

# 正确姿势:
import os
import sys # 错误姿势
import os,sys # 未被使用的库就不用引用了

2、代码长度约束

一行列数:PEP8 规定最大为79列,如果拼接url很容易超限
一个函数:不可以超过30行;直观来讲就是完整显示一个函数一个屏幕就够了,不需要上下拖动
一个类:不要超过200行代码,不要超过10个方法
一个模块:不要超过500行

3、常见格式问题

1)W292 no newline at end of file
处理:在代码末尾加一行回车就行 2)E302 expected 2 blank lines,found 1
处理:需要再补一个空白行(函数之间需要最少2个空白行,方便查阅、区分) 3)E231 missing whitespace after ‘,’
处理:原因简单来说还是要方便查看,即逗号后“,”需要补空格 示例:
print("%s %s %s %s" %(A,B,C,D))print("%s %s %s %s" % (A, B, C, D))
也许在这里并不能非常明显看出来,但是当代码多的时候,你会发现适当的空格会显得代码容易观看 4)E225 missing whitespace around operator
处理:主要原因其实跟上面的问题三差不多,主要目的都是为了查看方便 5)W291 trailing whitespace
处理:字面意思,函数、或者代码段终止处出现了多余的空格 举例
return kw (这里多了几个空格,错误)return kw 6)函数间隔
两个函数体之间,间隔两个空行 7)其他
1 typo found # 1个错误被发现
1 weak warning found # 1个弱警告

4、空格
      空格在 Python 代码中是有意义的,因为 Python 的语法依赖于缩进,在行首的空格称为前导空格。在这一节不讨论前导空格相关的内容,只讨论非前导空格。非前导空格在 Python 代码中没有意义,但适当地加入非前导空格可以增进代码的可读性。

# 在二元算术、逻辑运算符前后加空格:如
a = b + c; # 在一元前缀运算符后不加空格,如
if !flg: pass; # “:”用在行尾时前后皆不加空格,如分枝、循环、函数和类定义语言;用在非行尾时两端加空格,如:dict 对象的定义
d = {'key' : 'value'}
# 括号(含圆括号、方括号和花括号)前后不加空格,如:
do_something(arg1, arg2)
而不是
do_something( arg1, arg2 )
# 不要在逗号、分号、冒号前面加空格,但应该在它们后面加(除了在行尾)
# 不要用空格来垂直对齐多行间的标记,因为这会成为维护的负担(适用于:,#,=等)

5、空行
    适当的空行有利于增加代码的可读性,加空行可以参考如下几个准则:
    1) 在类、函数的定义间加空行;
    2) 在 import 不同种类的模块间加空行;
    3) 在函数中的逻辑段落间加空行,即把相关的代码紧凑写在一起,作为一个逻辑段落,段落间以空行分隔;

Python 编码规范的更多相关文章

  1. python编码规范

    python编码规范 文件及目录规范 文件保存为 utf-8 格式. 程序首行必须为编码声明:# -*- coding:utf-8 -*- 文件名全部小写. 代码风格 空格 设置用空格符替换TAB符. ...

  2. 【转】python编码规范

    http://blog.csdn.net/willhuo/article/details/49300441 决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是 ...

  3. python 编码规范整理

    PEP8 Python 编码规范 一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不要使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号. ...

  4. PEP8 - Python编码规范

    PEP8 - Python编码规范 PEP8 规范 官方文档:https://www.python.org/dev/peps/pep-0008/ PEP8 规范 中文翻译:http://www.cnb ...

  5. python经典书籍推荐:python编码规范

    目录INF-qa Python 编码规范................................................................................ ...

  6. Python编码规范:IF中的多行条件

    Python编码规范:IF中的多行条件 转载 2017年03月08日 09:40:45 http://blog.csdn.net/wsc449/article/details/60866700 有时我 ...

  7. 说说Python编码规范

    前言 已有近两个月没有发表过文章了,前段时间外甥和女儿过来这边渡暑假,平常晚上和周末时间都陪着她们了,趁这个周末有空,再抽空再把这块拾起来.         这么久没写了,再次拿起键盘,想想,发表些什 ...

  8. 转--python 编码规范

    编程规范 1.1. 命名规范 1.1.1. [强制] 命名不能以下划线或美元符号开始和结尾 反例: name / __name / $Object / name / name$ / Object$ 1 ...

  9. Python 编码规范(Google)

    Python 编码规范(Google) https://blog.csdn.net/q469587851/article/details/54096093 Python 风格规范(Google) 本项 ...

  10. PEP8 Python 编码规范整理(转)

    决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的.所以今天下午我根据PEP 8整理了一份,以后都照此 ...

随机推荐

  1. android framework浅析_转

    Android系统从底向上一共分了4层,每一层都把底层实现封装,并暴露调用接口给上一层. 1. Linux内核(Linux Kernel) 1)Android运行在linux kernel 2.6之上 ...

  2. 运用bat进行数据库备份

    执行Bat脚本 @echo off sqlplus sys/welcome@orcl as sysdba @C:\Users\yangfan\Desktop\login.sql echo 按任意键结束 ...

  3. Vue.2.0.5-表单控件绑定

    基础用法 你可以用 v-model 指令在表单控件元素上创建双向数据绑定.它会根据控件类型自动选取正确的方法来更新元素.尽管有些神奇,但 v-model 本质上不过是语法糖,它负责监听用户的输入事件以 ...

  4. NSTimer 线程操作

    http://www.jianshu.com/p/0c050af6c5ee 2.NSTimer的创建与撤销必须在同一个线程操作.performSelector的创建与撤销必须在同一个线程操作.

  5. Java nio 笔记:系统IO、缓冲区、流IO、socket通道

    一.Java IO 和 系统 IO 不匹配 在大多数情况下,Java 应用程序并非真的受着 I/O 的束缚.操作系统并非不能快速传送数据,让 Java 有事可做:相反,是 JVM 自身在 I/O 方面 ...

  6. Browserify

    NodeJS 把 JavaScript 的使用从浏览器端扩展到了服务器端,使得前端开发人员可以用熟悉的语言编写服务器端代码.这一变化使得 NodeJS 很快就流行起来.在 NodeJS 社区中有非常多 ...

  7. Leetcode: Count Numbers with Unique Digits

    Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Examp ...

  8. acm pc^2的配置与使用

    -------------------------------------------------------------------------------------- !!! 转载请注明: 转自 ...

  9. Spring中Bean的配置:基于XML文件的方式

    Bean的配置一共有两种方式:一种是基于XML文件的方式,另一种是基于注解的方式.本文主要介绍基于XML文件的方式 <bean id="helloWorld" class=& ...

  10. 是否可以继承String类?

    是否可以继承String类? String类是final类故不可以继承