Software_Programming_python_relational_keywords

2020-01-07



code conventions

PEP8  8号 python 增强提案

空白

  • 使用space 空格来表示缩进,而不要用 tab 制表符
  • 和语法相关的每一层缩进都用4个空格来表示
  • 每行的字符数不要超过79
  • 对于占据多行的长表达式来说,除了首行之外的其余各行都应该在通常的缩进级别之上再加4个空格
  • 文件中的函数与类之间应该用两个空行隔开
  • 在同一个类中,各方法之间应该用一个空行隔开
  • 在使用下标来获取列表元素,调用函数或者给关键字参数赋值的时候,不要在两旁添加空格。
  • 为变量赋值的时候,赋值符号的左侧和右侧应该各自协商一个空格,并且只一个就好。

命名风格

  • 函数,变量和属性应该用小写字母,各单词之间用下划线连接  lowercase_underscore.
  • 受保护的实例属性, 应该以单个下划线开头, 例如, _leading_underscore.
  • 私有的实例属性,应该以两个下划线开头,例如, __double_leading_underscore.
  • 类与异常, 应该以每个单词首字母大写的形式命名,例如, CapitalizaedWord.
  • 模块级别的常量,应该以全部采用大写字母来拼写,各单词之间以下划线相连,例如: ALL_CAPS
  • 类中的实例方法(instance method), 应该把首个参数命名为 self, 以表示该对象自身。
  • 类方法(class method) 的首个参数命名为 cls, 

 表达式和语句  “每件事都应该有直白的做法,而且最好只有一种”

  • 采用内联形式的否定词,而不要把否定次放在整个表达式的前面,例如,应该是 if a is not b 而不是 if not a is b
  • 不要通过检测长度的办法(if len(someList) == 0 ) 来判断 somelist 是否为[] 或 “ 等空值, 而是应该采用 if not somelist 这种写法来判断,它会假定 : 空值将自动评估为 False
  • 检测 somelist 是否为 [1] 或 'hi' 等非空值时,也应如此, if somelist 语句默认会把非空的值判断为 True.
  • 不要编写单行的 if 语句, for 循环, while循环及 except 复合语句,而是应该把这些语句分成多行来书写,以示清晰。
  • import 语句在文件的开头。
  • 引入模块的时候,应该总是使用绝对名称,而不应该根绝当前模块的路径来使用相对名称,例如,引入bar包中的 foo模块时,应该完整地写出 form bar import foo, 而不是简单地写成 Import foo
  • 如果一定要以相对名称来编写import 语句,就采用明确的写法: from . import foo
  • 文件中的那些 import 语句应该按顺序划分成三个部分,分别表示 标准库模块,第三方模块以及自用模块。在每一部分中,各import 语句应该按模块的字母顺序来排列
posted @ 2020-01-07 09:56  君子之行  阅读(35)  评论(0编辑  收藏  举报