- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Python开发编码规范_kindel
Python开发编码规范
hoxide 初译 dreamingk 校对发布 040724
xyb 重新排版 040915
ZoomQuiet MoinMoin 美化 050610
fz420 精简 kindel版 140101
用Python进行开发时的编码风格约定 原文:PEP008 《StyleGuidefor PythonCode》
1.1. 介绍
这篇文档所给出的编码约定适用于在主要的Python发布版本中组成标准库的Python 代码.
请查阅相关的关于在Python的C实现 C代码风格指南的描述.
这篇文档改编自Guido最初的 《Python风格指南》一文. 并从 《Barrysstyleguide》中添
加了部分内容. 在有冲突的地方,Guide的风格规则应该是符合本PEP的意图 (译注:就是
当有冲突时,应以Guido风格为准) 这篇PEP也许仍然尚未完成(实际上,它可能永远不会
结束).
1.2. 一致性的建议
愚蠢得使用一致性是无知的妖怪(A FoolishConsistency isthe Hobgoblinof Little
Minds)
呆板的坚持一致性是傻的没边了!
在这篇风格指导中的一致性是重要的. 在一个项目内的一致性更重要. 在一个模块或函数
内的一致性最重要.
但最重要的是:知道何时会不一致 -- 有时只是没有实施风格指导.当出现疑惑时,
运用你的最佳判断.看看别的例子,然后决定怎样看起来更好.并且要不耻下问!
打破一条既定规则的两个好理由:
1. 当应用这个规则是将导致代码可读性下降,即便对某人来说,他已经习惯于按这条
规则来阅读代码了.
2. 为了和周围的代码保持一致而打破规则(也许是历史原因)
-- 虽然这也是个清除其它混乱的好机会(真正的XP风格).
1.3. 代码的布局 (Code lay-out)
1.3.1. 缩进
使用Emacs的Python-mode的默认值:4个空格一个缩进层次. 对于确实古老的代码,你不希
望产生混乱,可以继续使用8空格的制表符(8-spacetabs). EmacsPython-mode 自动发现文
件中主要的缩进层次,依此设定缩进参数.
1.3.2. 制表符还是空格?
永远不要混用制表符和空格. 最流行的Python缩进方式是仅使用空格, 其次是仅使用制表
符.混合着制表符和空格缩进的代码将被转换成仅使用空格.(在Emacs ,选中整个缓冲区,
按ESC-x去除制表符(untabify).) 调用python命令行解释器时使用-t选项,可对代码中不合
法得混合制表符和空格发出警告(warnings). 使用-tt时警告(warnings)将变成错误(errors).
这些选项是被高度推荐的.
对于新的项目,强烈推荐仅使用空格(spaces-only)而不是制表符. 许多编辑器拥有使之易于
实现的功能.(在Emacs ,确认indent-tabs-mode是nil).
1.3.3. 行的最大长度
周围仍然有许多设备被限制在每行80字符;而且,窗口限制在80个字符 使将多个窗口并排放
置成为可能.在这些设备上使用默认的折叠(wrapping)方式看起来有点丑陋. 因此,请将所有
行限制在最大79字符(Emacs准确得将行限制为长80字符), 对顺序排放的大块文本(文档字
符串或注释),推荐将长度限制在72字符.
折叠长行的首选方法是使用Pyhon支持的圆括号,方括号(brackets)和花括号(braces)内的行
延续. 如果需要,你可以在表达式周围增加一对额外的圆括号, 但是有时使用反斜杠看起来
更好.确认恰当得缩进了延续的行.Emacs的Python-mode正确得完成了这些.一些例子:
1. class Rectangle(Blob):
2.
3. def __init__(self, width, height,
4. color=black, emphasis=None, highlight=0):
5. if width == 0 and height == 0 and \
color == red and emphasis == strong or \
highlight 100:
6. raise ValueEr
您可能关注的文档
- 第一节_CAM350_文件.pdf
- 高青峰-office效率之源.pdf
- 动力电池系统的安全性与可靠性-普莱德.pdf
- 工程cad三维图形绘制.pdf
- rhino4常用命令集合.pdf
- CAD 实体建模基础1.pdf
- ProE5.0基础培训课件-第二部分.pdf
- 自然拼读解码读物BOOK 2.3_Spot and His Family.pdf
- MSP430_Family_Users_Guide(中文版).pdf
- wrf模式学习_从linux安装开始.pdf
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
文档评论(0)