## python学习——规范编程
编码
- 文件一律使用 UTF-8 编码
空行
- 模块级函数和类定义之间空两行
- 类成员函数之间空一行
class A:
def __init__(self):
pass
def hello(self):
pass
def main():
pass
- 可以使用多个空行分隔多组相关的函数
- 函数中可以使用空行分隔出逻辑相关的代码
import
- 导入其他模块的类定义时,可以使用相对导入
from myclass import MyClass
空格
- 在二元运算符两边各空一格[=,-,+=,==,>,in,is not, and]:
i = i + 1
submitted += 1
x = x * 2 - 1
hypot2 = x * x + y * y
c = (a + b) * (a - b)
- 函数的参数列表中,,之后要有空格
def complex(real, imag):
pass
换行
- 第二行缩进到括号的起始处
foo = long_function_name(var_one, var_two,
var_three, var_four)
- 第二行缩进 4 个空格,适用于起始括号就换行的情形
def long_function_name(
var_one, var_two, var_three,
var_four):
print(var_one)
- 使用反斜杠\换行,二元运算符+ .等应出现在行末;长字符串也可以用此法换行
session.query(MyTable).\
filter_by(id=1).\
one()
print 'Hello, '\
'%s %s!' %\
('Harry', 'Potter')
命名
- 模块尽量使用小写命名,首字母保持小写,尽量不要用下划线
- 类名首字母大写,私有类可用一个下划线开头
- 函数名一律小写,如有多个单词,用下划线隔开,私有函数在函数前加一个下划线_
- 变量名尽量小写, 如有多个单词,用下划线隔开
- 常量采用全大写,如有多个单词,使用下划线隔开
import decoder
class Farm():
pass
def run_with_env():
pass
if __name__ == '__main__':
count = 0
school_name = ''
MAX_CONNECTION = 1000