Python PEP8标准
1.编码
- 如无特殊情况,文件一律使用utf-8编码
- 如无特殊情况,文件头部必须添加# -*- coding:utf-8 -*- 标志
2.代码
- 统一使用四个空格缩进
- 每行代码不超过80个字符
- 自然语言使用双引号,如input里面,或者错误信息,正则表达式使用原生的双引号r" ",
- 机器标识使用单引号,如dict里面的key,因此代码里面多数应该使用单引号。
- 文档字符串使用三个双引号。""" """
3.空行
- 模块级函数和类定义之间空两行
- 类成员函数之间空一行
- 可以使用多个空行分隔多组相关函数
- 函数中可以用空行分隔出逻辑相关的代码
class A:
def __init__(self):
pass
def hello(self):
pass
def main():
pass
4.import语句
- import 语句应当分行书写
- import语句应当使用absolute import
- import语句应当放在文件头部,置于模块说明及docstring之后,全局变量之前
- import语句应该按照顺序排列,每组之间用一个空格分隔,按照内置模块,第三方模块,自己所写的模块调用顺序,同时每组内部按照字母表顺序排列
#Right
import os
import sys from subprocess import Popen, PIPE from foo.bar import Bar #False
import os, sys
from ..bar import Bar
5.空格
在二元运算符两边各空一格:[=, - ,+ =, > , in , is ,not , and]
i = i + 1
x = x * x + 2
c = (a + b) * (a - b)
函数的参数列表中,","之后要有空格,默认值等号两边不要添加空格,左括号之后,右括号之前不要有空格
def complex(real, image=0):
pass
6.换行
python支持括号内的换行,这时有两种情况:
1.第二行缩进到括号的起始处
2.第二行缩进四个空格,适用于起始括号就换行的情形
a = list(var1, var2,
var3) a=list(
var1,
var2,
var3)
7.注释
#号后需空一格,不要使用无意义的注释
x = x + 1 # 边框加粗一个像素
8.docstring
1.所有公共模块,函数,类,方法都应该有docstring。
9.命名规范
- 应避免使用小写字母l,大写字母O或I单独作为一个变量,以区分数字1和0.
- 包和模块使用全小写命名,,尽量不要使用下划线
- 类名使用CamelClass命名风格,内部类可用一个下划线开头
- 函数使用下划线分隔的小写命名
- 常量使用以下划线分隔的大写命名
MAX_OVERFLOW = 100
class FooBar:
def foo_bar():
pass
- 单字符命名应该尽量避免,除了计数器和迭代器
- 模块名尽量小写命名,首字母小写,尽量不要使用下划线(除非多个单词且数量不多的情况)
- 类名:首字母大写,私有类可以用一个下划线开头
- 将相关的类和顶级函数放在同一个模块中,没必要限制一个类一个模块
- 函数名:一律小写,如有多个单词一律用下划线隔开
- 私有函数在函数名前加一个下划线
- 变量名尽量小写,如有多个单词,用下划线隔开
- 常量采用全大写,如有多个单词,使用下划线隔开
#False
s = "Hello World"
l = 1
import Decoder #True
class Farm():
class Animal():
class _PrivateFarm():
def run():
count = 0
school_name = "xidian"
MAX_CLIENT = 100
10.程序设计规范
1.尽量不要直接将代码写在模块顶层,在执行主程序之前总是检查:if __name__ = '__main__',这样模块被导入主程序时就不会被执行了
#wrong
do_something() #right
def main():
do_something(): if __name__ == '__main__':
main()
所有的顶层代码在模块导入时都会被执行,要小心不要去调用函数,创建对象,或者执行哪些不该被执行的操作
尽量不要用+号拼接字符串,使用join函数拼接
在不复杂的情况下,尽量多用列表生成式,可以是代码更清晰
尽量使用map和filter等内置函数而不是自己去写循环
正则表达式之前一律加r,正则表达式使用之前一律编译好。
Python PEP8标准的更多相关文章
- Python pep8代码规范
title: Python pep8代码规范 tags: Python --- 介绍(Introduction) 官方文档:PEP 8 -- Style Guide for Python Code 很 ...
- 【python】标准库的大致认识
正如那句 Python 社区中很有名的话所说的:“battery included”,Python 的一大好处在于它有一套很有用的标准库(standard library).标准库是随着 Python ...
- python 使用标准库连接linux实现scp和执行命令
import stat import pexpect 只显示关键代码: sqldb = localpath+database //获取database名字 if os.path.exists(sqld ...
- Python的标准库介绍与常用的第三方库
Python的标准库介绍与常用的第三方库 Python的标准库: datetime:为日期和时间的处理提供了简单和复杂的方法. zlib:以下模块直接支持通用的数据打包和压缩格式:zlib,gzip, ...
- Python 3标准库 第十四章 应用构建模块
Python 3标准库 The Python3 Standard Library by Example -----------------------------------------第十四章 ...
- 【翻译】Python PEP8编码规范(中文版)
原文链接:http://legacy.python.org/dev/peps/pep-0008/ item detail PEP 8 Title Style Guide for Python Code ...
- python——PEP8 Python 编码规范整理
决定开始Python之路了,利用业余时间,争取更深入学习Python.编程语言不是艺术,而是工作或者说是工具,所以整理并遵循一套编码规范是十分必要的.所以今天下午我根据PEP 8整理了一份,以后都照此 ...
- python pep8编码风格学习记录(转)
简要归纳 每个缩进层级使用4个空格. 每行最多79个字符. 顶层的函数或类的定义之间空两行. 采用ASCII或UTF-8编码文件 在文件顶端,注释和文档说明之下,每行每条import语句只导入一个模块 ...
- python PEP8常用规范
python 常用PEP8规范 一 代码编排 1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号 ...
随机推荐
- IDEA2018激活码
请复制如下内容到文本编辑器(如notepad++)把博客的内容去掉 N757JE0KCT-eyJsaWNlbnNlSWQiOiJONzU3SkUwS0NUIiwibGljZW5zZWVOYW1lIjo ...
- 移动端video视频播放问题
1.视频播放后自动全屏 video添加playsinline webkit-playsinline属性 2.安卓暂停或播放完毕不能滑动 通过js判断机型,安卓去掉controls属性,ios保留co ...
- 判断django中的orm为空
result= Booking.objects.filter() #方法一 .exists() if result.exists(): print "QuerySet has Data&qu ...
- Scrapy的Request和Response对象
一.Request 发送一个请求,参数如下: url :request对象发送请求的url callback :在下载器下载完相应的数据后执行的回调函数 method :请求方法,默认为get hea ...
- Eureka Instance实例信息配置
Eureka包含四个部分的配置 instance:当前Eureka Instance实例信息配置 client:Eureka Client客户端特性配置 server:Eureka Server注册中 ...
- this的五种指法
this 到底指向哪里 以下如果没提及,则为严格模式. js中作用域有两种: 词法作用域 动态作用域 词法作用域 词法作用域指在书写代码时就被确定的作用域.看如下代码 var value = 1; f ...
- C/C++ - 类中成员变量是引用
C++引用 引用在定义时必须初始化,否则编译时便会报错.如果类(自定义类型)的成员是引用类型,需要注意一些问题. 引用成员变量 并不为这个变量新辟空间:类对象做成员变量则是要对其新辟一段空间的 不能有 ...
- HDFS 数据节点(DataNode)
- LUOGU P4095 [HEOI2013]Eden 的新背包问题
题目描述 " 寄 没 有 地 址 的 信 ,这 样 的 情 绪 有 种 距 离 ,你 放 着 谁 的 歌 曲 ,是 怎 样 的 心 情 . 能 不 能 说 给 我 听 ." 失忆的 ...
- php mkdir 777失败
参考网址:https://www.cnblogs.com/52php/p/5660079.html 在linux系统中在创建文件/文件夹时有一个默认权限,此权限受 umask 设置影响,在/etc/b ...