Python 命名规范1

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Python 规范

代码的布局

编码

所有的Python脚本文件都应在文件头标上“# -*- coding:utf-8 -*-”。

缩进

4个空格一个缩进层次

空行

适当的空行有利于增加代码的可读性,加空行可以参考如下几个准则:

(1) 在类、函数的定义间加空行;

(2) 在import不同种类的模块间加工行;

(3) 在函数中的逻辑段落间加空行,即把相关的代码紧凑写在一起,作为一个逻辑段落,段落间

以空行分隔

换行

语句比较长,一行写不下的情况下使用

1.在括号(包括圆括号、方括号和花括号)内换行,如:

class Edit(CBase):

def __init__(self, parent, width,

font = FONT, color = BLACK, pos = POS, style = 0):

或:

very_very_very_long_variable_name = Edit(parent, \

width, \

font, \

color, \

pos)

如果行长到连第一个括号内的参数都放不下,则每个元素都单独占一行:

very_very_very_long_variable_name = ui.widgets.Edit( \

panrent, \

width, \

font, \

color, \

pos)

2.在长行加入续行符强行断行,断行的位置应在操作符前,且换行后多一个缩进,以使维

护人员看代码的时候看到代码行首即可判定这里存在换行,如:

if color == WHITE or color == BLACK \

or color == BLUE: # 注意or操作符在新行的行首而不是旧行的行尾

do_something(color);

命名约定

有许多不同的命名风格。以下的有助于辨认正在使用的命名风格,独立于它们的作用。以下的命名风格是众所周知的:

b (单个小写字母)

B (单个大写字母)

Lowercase(小写)

lower_case_with_underscores(有下划线的小写)

UPPERCASE(大写)

UPPER_CASE_WITH_UNDERSCORES(有下划线的大写)

应避免的名字。永远不要用字符…l‟(小写字母el(就是读音,下同)),…O‟(大写字母oh),或…I‟(大写字母eye)作为单字符的变量名。在某些字体中这些字符不能与数字1和0分辨。试着在使用…l‟时用…L‟代替。

常量

常量名所有字母大写,由下划线连接各个单词,如:

WHITE = 0XFFFFFF

THIS_IS_A_CONSTANT = 1

变量

变量名全部小写,由下划线连接各个单词,如:

color = WHITE

this_is_a_variable = 1

不论是类成员变量还是全局变量,均不使用m 或g 前缀。私有类成员使用单一下划线前

缀标识,多定义公开成员,少定义私有成员。

变量名不应带有类型信息,因为Python 是动态类型语言。如iValue、names_list、

dict_obj 等都是不好的命名。

全局变量名

这些约定和在函数中的一样。模块是被设计为通过“from M import *”来使用的,必须用

一个下划线作全局变量(及内部函数和类)的前缀防止其被导出(exporting)。

函数

函数名的命名规则与变量名相同。

类名单词首字母大写,不使用下划线连接单词,也不加入C、T 等前缀。如:

class ThisIsAClass(object):

passs

模块

模块名全部小写,对于包内使用的模块,可以加一个下划线前缀,如:

module.py

_internal_module.py

包的命名规范与模块相同。

缩写

命名应当尽量使用全拼写的单词,缩写的情况有如下两种:

1命名中含有长单词,对某个单词进行缩写。这时应使用约定成俗的缩写方式,如去除元音、包含辅音的首字符等方式,例如:

function 缩写为fn

text 缩写为txt

object 缩写为obj

count 缩写为cnt

number 缩写为num,等。

特定命名方式,主要是指__xxx__ 形式的系统保留字命名法。项目中也可以使用这种命

名,它的意义在于这种形式的变量是只读的,这种形式的类成员函数尽量不要重载。

异常名

如果模块对所有情况定义了单个异常,它通常被叫做“error”或“Error”。似乎内建(扩展)

的模块使用“error”(例如:os.error),而Python模块通常用“Error” (例如:

xdrlib.Error)。趋势似乎是倾向使用CapWords异常名

语句

import

import 语句有以下几个原则需要遵守:

(1)import 的次序,先import Python 内置模块,再import 第三方模块,最后import 自己开发的项目中的其它模块;这几种模块中用空行分隔开来。

(2)一条import 语句import 一个模块。

(3)当从模块中import 多个对象且超过一行时,使用如下断行法

from module import (obj1, obj2, obj3, obj4,

obj5, obj6)

(4)不要使用from module import *,除非是import 常量定义模块或其它你

确保不会出现命名空间冲突的模块。

2分枝和循环

对于分枝和循环,有如下几点需要注意的:

不要写成一行,如:

If !flg: pass 和for i in xrange(10): print i都不是好代码,应写成

if !flg:

pass

for i in xrange(10):

相关文档
最新文档