Python编程代码规范(GoogleStyle)python基础代码注释
在编程过程中,要遵循⼀定的规则,包括函数命名、变量命名、代码注释等,虽然不遵循也能使代码运⾏成功,但优秀的、整洁的代码必定是遵循潜移默化的⼀些规则,这样别⼈阅读起来也会很轻松,否则将来甚⾄⾃⼰也看不懂。为了能及时发现问题,可使⽤python的IDLE来编写,如pycharm等⼯具遵循PEP 8规则,会⾃动发现并提⽰代码存在的问题
本⽂⽬录如下
⽬录
⼀、简明概述
1 编码
如⽆特殊情况, ⽂件⼀律使⽤ UTF-8 编码
如⽆特殊情况, ⽂件头部需加⼊python翻译器的位置信息
# -*- coding: utf-8 -*-
#! /usr/bin/env python3
2 代码格式
2.1 缩进
统⼀使⽤4个空格进⾏缩进
2.2 ⾏宽
每⾏代码尽量不超过 80 个字符(在特殊情况下可以略微超过 80 ,但最长不得超过 120)。理由:
这在查看 side-by-side 的 diff 时很有帮助
⽅便在控制台下查看代码
太长可能是设计有缺陷
2.3 引号
⾃然语⾔使⽤双引号 "...",例如错误信息;很多情况还是 unicode,使⽤u"你好世界"
机器标识使⽤单引号 '...',例如 dict ⾥的 key
正则表达式使⽤原⽣的双引号 r"..."
⽂档字符串 (docstring) 使⽤三个双引号 """......"""
2.4 空⾏splitter gear
顶级定义之间空两⾏, ⽐如函数或者类定义
⽅法定义, 类定义与第⼀个⽅法之间, 都应该空⼀⾏
def __init__(self):
pass
def hello(self):
pass
def main():
pass
可以使⽤多个空⾏分隔多组相关的函数
函数中可以使⽤空⾏分隔出逻辑相关的代码
3 import语句
import 语句应该分⾏书写
# 正确的写法
import os
import sys
# 不推荐的写法
import sys,os
# 正确的写法
from subprocess import Popen, PIPE软件设计就业方向
import语句应该使⽤ absolute import
# 正确的写法
from foo.bar import Bar
# 不推荐的写法
from ..bar import Bar
import语句应该放在⽂件头部,置于模块说明及docstring之后,于全局变量之前;
python 安装教程import语句应该按照顺序排列,每组之间⽤⼀个空⾏分隔
导⼊顺序为:python标准库、第三⽅库、⾃⼰的库
import os
import sys
import msgpack
import zmq
import foo
导⼊其他模块的类定义时,可以使⽤相对导⼊
from myclass import MyClass
如果发⽣命名冲突,则可使⽤命名空间
import foo.bar
bar.Bar()
foo.bar.Bar()
4 空格
在⼆元运算符两边各空⼀格[=,-,+=,==,>,in,is not, and]:
# 正确的写法
i = i + 1
submitted += 1
x = x * 2 - 1
hypot2 = x * x + y * y
电子表格函数的使用方法c = (a + b) * (a - b)
# 不推荐的写法
i=i+1
submitted +=1
x = x*2 - 1
hypot2 = x*x + y*y
c = (a+b) * (a-b)
函数的参数列表中,,之后要有空格
# 正确的写法
def complex(real, imag):
pass
# 不推荐的写法
def complex(real,imag):
pass
函数的参数列表中,默认值等号两边不要添加空格电影节selected什么意思
# 正确的写法
def complex(real, imag=0.0):
pass
# 不推荐的写法
def complex(real, imag = 0.0):
pass
左括号之后,右括号之前不要加多余的空格
# 正确的写法
spam(ham[1], {eggs: 2})
# 不推荐的写法
spam( ham[1], { eggs : 2 } )
字典对象的左括号之前不要多余的空格
dict['key'] = list[index]
# 不推荐的写法
dict ['key'] = list [index]
不要为对齐赋值语句⽽使⽤的额外空格
# 正确的写法
x = 1
y = 2
long_variable = 3
# 不推荐的写法
x            = 1
y            = 2
long_variable = 3
5 换⾏
Python ⽀持括号内的换⾏。这时有两种情况。
1 第⼆⾏缩进到括号的起始处
foo = long_function_name(var_one, var_two,
var_three, var_four)
2 第⼆⾏缩进 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')
禁⽌复合语句,即⼀⾏中包含多个语句:
# 正确的写法
do_first()
do_second()
do_third()
# 不推荐的写法
do_first();do_second();do_third();
if/for/while⼀定要换⾏:
if foo == 'blah':
do_blah_thing()
# 不推荐的写法
if foo == 'blah': do_blash_thing()
⼆注释
1 ⽂件注释
在⽂件的最开头,可以添加⽂件的版权、许可声明、作者、⽇期、版本等信息,如
# **********************************************************
# * Author        : xxxxxx
# * Email        : xxxxxxxx@xxx
# * Create time  : 2018-04-22 19:26
# * Filename      : collect-sys-msg.py
# * Description  :
# **********************************************************
2 块注释
“#”号后空⼀格,段落件⽤空⾏分开(同样需要“#”号)
# 块注释
# 块注释
#
# 块注释
# 块注释
3 ⾏注释
⾄少使⽤两个空格和语句分开,注意不要使⽤⽆意义的注释
# 正确的写法
x = x + 1  # 边框加粗⼀个像素
# 不推荐的写法(⽆意义的注释)
x = x + 1 # x加1
在代码的关键部分(或⽐较复杂的地⽅), 能写注释的要尽量写注释
⽐较重要的注释段, 使⽤多个等号隔开, 可以更加醒⽬, 突出重要性
app = create_app(name, options)
# =====================================
# 请勿在此处添加 get post等app路由⾏为
# =====================================
if __name__ == '__main__':
app.run()
4 Docstring

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。