没有合适的资源?快使用搜索试试~ 我知道了~
首页Python PEP8 编码规范中文版.pdf
资源详情
资源推荐
Python PEP8 编码规范中文版
Introduction 介绍
本文提供的 Python 代码编码规范基于 Python 主要发行版本的标准库。Python 的 C
语言实现的 C 代码规范请查看相应的 PEP 指南
1。
这篇文档以及 PEP 257(文档字符串的规范)改编自 Guido 原始的《Python Style
Guide》一文,同时添加了一些来自 Barry 的风格指南 2。
这篇规范指南随着时间的推移而逐渐演变,随着语言本身的变化,过去的约定也被淘
汰了。
许多项目有自己的编码规范,在出现规范冲突时,项目自身的规范优先。
A Foolish Consistency is the Hobgoblin
of Little Minds 尽信书,则不如无书
Guido 的一条重要的见解是代码阅读比写更加频繁。这里提供的指导原则主要用于提
升代码的可读性,使得在大量的 Python 代码中保持一致。就像 PEP 20
提到的,
“Readability counts”。
这是一份关于一致性的风格指南。这份风格指南的风格一致性是非常重要的。更重要
的是项目的风格一致性。在一个模块或函数的风格一致性是最重要的。
然而,应该知道什么时候应该不一致,有时候编码规范的建议并不适用。当存在模棱
两可的情况时,使用自己的判断。看看其他的示例再决定哪一种是最好的,不要羞于
发问。
特别是不要为了遵守 PEP 约定而破坏兼容性!
几个很好的理由去忽略特定的规则:
1. 当遵循这份指南之后代码的可读性变差,甚至是遵循 PEP 规范的人也觉得可读
性差。
2. 与周围的代码保持一致(也可能出于历史原因),尽管这也是清理他人混乱(真
正的 Xtreme Programming 风格)的一个机会。
3. 有问题的代码出现在发现编码规范之前,而且也没有充足的理由去修改他们。
4. 当代码需要兼容不支持编码规范建议的老版本 Python。
Code lay-out 代码布局
Indentation 缩进
每一级缩进使用 4 个空格。
续行应该与其包裹元素对齐,要么使用圆括号、方括号和花括号内的隐式行连接来垂
直对齐,要么使用挂行缩进对齐
3。当使用挂行缩进时,应该考虑到第一行不应该有参
数,以及使用缩进以区分自己是续行。
推荐:
# 与左括号对齐
foo = long_function_name(var_one, var_two,
var_three, var_four)
# 用更多的缩进来与其他行区分
def long_function_name(
var_one, var_two, var_three,
var_four):
print(var_one)
# 挂行缩进应该再换一行
foo = long_function_name(
var_one, var_two,
var_three, var_four)
不推荐:
# 没有使用垂直对齐时,禁止把参数放在第一行
foo = long_function_name(var_one, var_two,
var_three, var_four)
# 当缩进没有与其他行区分时,要增加缩进
def long_function_name(
var_one, var_two, var_three,
var_four):
print(var_one)
四空格的规则对于续行是可选的。
可选:
# 挂行缩进不一定要用 4 个空格
foo = long_function_name(
var_one, var_two,
var_three, var_four)
当 if 语句的条件部分长到需要换行写的时候,注意可以在两个字符关键字的连接处
(比如 if),增加一个空格,再增加一个左括号来创造一个 4 空格缩进的多行条件。
这会与 if 语句内同样使用 4 空格缩进的代码产生视觉冲突。PEP 没有明确指明要如何
区分 i 发的条件代码和内嵌代码。可使用的选项包括但不限于下面几种情况:
# 没有额外的缩进
if (this_is_one_thing and
that_is_another_thing):
do_something()
# 增加一个注释,在能提供语法高亮的编辑器中可以有一些区分
if (this_is_one_thing and
that_is_another_thing):
# Since both conditions are true, we can frobnicate.
do_something()
# 在条件判断的语句添加额外的缩进
if (this_is_one_thing
and that_is_another_thing):
do_something()
(可以参考下面关于是否在二进制运算符之前或之后截断的讨论)
在多行结构中的大括号/中括号/小括号的右括号可以与内容对齐单独起一行作为最后
一行的第一个字符,就像这样:
my_list = [
1, 2, 3,
4, 5, 6,
]
result = some_function_that_takes_arguments(
'a', 'b', 'c',
'd', 'e', 'f',
)
或者也可以与多行结构的第一行第一个字符对齐,就像这样:
my_list = [
1, 2, 3,
4, 5, 6,
]
result = some_function_that_takes_arguments(
'a', 'b', 'c',
'd', 'e', 'f',
)
Tabs or Spaces? 制表符还是空格?
空格是首选的缩进方式。
制表符只能用于与同样使用制表符缩进的代码保持一致。
Python3 不允许同时使用空格和制表符的缩进。
剩余33页未读,继续阅读
zjfmail
- 粉丝: 1
- 资源: 14
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功