Python代码规范

1. 一致性的建议

打破一条既定规则的两个好理由

当应用这个规则将导致代码可读性下降,即使对于某人来说他已经习惯于按照这条规则来阅读代码了

为了和周围的代码保持一致而打破规则(也许是历史原因)

2. 代码的布局

缩进

4个空格

代码行

行最大长度 : 79字符

推荐长度 : 72字符

分割方式 : "" , "()" , "{}"

空行

两行空行分割顶层函数和类的定义

一行空行分割方法或函数

额外空行分割相关函数群

类定义与第一个方法定义需要一行空行

编码

万年 "UTF-8"

导入

先import标准模块,再from ... import第三方模块(绝对路径) ,最后from ... import自建模块

每组导入空一行,一行导入一个包[模块,类等]

空格

紧贴各类括号

紧贴逗号,分号,冒号前

紧贴函数调用参数列表前开放式括号

紧贴再索引或切片括号

二元操作符或运算符或逻辑等两边各留一个空格

默认参数或关键参数"="不留空格

3. 注释

注释块

与相应代码有着相同缩进

行内注释

与代码被注释代码同行,以"#"+" "开头

文档注释

结尾处 """ 单独成行

版本注记

模块文档字符串之后,所有代码之前,上下空行分割

4. 命名

约定

模块名 : 不含下划线 ; 小写 ; 剪短

类名,异常名 : 首字母大写单词串

方法,函数 : 第一个字母小写的首字母大写单词串

属性,实例,变量 : 小写字母串

继承

私有 : 双下划线开头

非公有 : 单下划线开头

命名冲突

不降低可读性,能改就改,不能就在末尾加单个下划线或者数字

5. 设计建议

使用"is"或"is not"进行对"None"的单值比较

使用字符串方法代替字符串模块

使用startswith()和endswith()检查前后缀而不是使用切片

使用isinstance()判断对象是否是字符串而不是使用type()

判断空序列或字典不要使用len()

书写字符串文字不要依赖有意义的后置空格

不要用"=="比较布尔值

文章转自:http://www.cnblogs.com/erliang/p/4065605.html

  • 初学者学习python2还是python3?
  • python获取本机IP、mac地址、计算机名
  • 详解python2 和 python3的区别
  • python基础之删除文件及删除目录的方法
  • 用python求第1000个质数的值
  • python常用函数年初大总结
  • Python3 - 时间处理与定时任务
  • Python开发的CMS系统,Silva CMS 3 发布
  • python基础之使用os.system来执行系统命令
  • 判断python字典中key是否存在的两种方法
  • 初学者学习python2还是python3?
  • python基础之删除文件及删除目录的方法
  • python获取本机IP、mac地址、计算机名
  • python获取系统时间(时间函数详解)
  • 详解python2 和 python3的区别
  • 用python求第1000个质数的值
  • Python3 - 时间处理与定时任务
  • 命令行看糗百
  • Python算法之---冒泡,选择,插入排序算法
  • python 中求和函数 sum详解
  • range方法在Python2和Python3中的不同
  • python3 数组(列表)初始化
  • 记一次crontab中date命令错用导致的问题
  • MySQL用LIKE特殊字符搜索
  • CentOS 7 下修改主机名
  • Python3正则表达式之:(?(id/name)y...
  • TIOBE编程语言排行榜2019年 Python稳居前三
  • 解压命令unzip常用方法汇总
  • 解析redis备份文件rdb的两种方法及对比
  • 百度视觉语义化平台2.0:交互升级和...
  • 5G时代的视觉语义化技术:软硬结合...
  • 百度AutoDL重磅升级至3.0:设计、迁...