Python PEP8-中文版-全文(1)

PEP 8——Python代码风格指南
PEP: 8
标题:Python代码风格指南
版本:c451868df657
Last-Modified: 2016-06-08 10:43:53 -0400(2016年6月8日星期三)
作者:guido van Rossum

介绍

本文给出了主要Python发行版中标准库的Python代码的编码约定。请参阅配套信息PEP,其中描述了Python[1]的C语言实现中C代码的风格指南。

本文和PEP 257(文档字符串约定)改编自Guido最初的Python风格指南文章,并添加了一些Barry的风格指南[2]的内容。

随着语言本身的变化,过去的约定也会被淘汰,因此这个风格指南也会随着时间的推移而演变。

许多项目都有自己的编码风格指南。在发生任何冲突的情况下,此类特定于项目的指南优先于该项目。

愚蠢的一致性是小心眼的妖怪

Guido的一个重要见解是,代码被阅读的频率远远超过它被编写的频率。这里提供的指南旨在提高代码的可读性,并使其在广泛的Python代码中保持一致。正如PEP 20所说,“可读性很重要”。

风格指南是关于一致性的。与这个风格指南保持一致很重要。项目中的一致性更为重要。一个模块或功能的一致性是最重要的。

然而,要知道什么时候不一致——有时风格指南的建议并不适用。当你怀疑的时候,用你最好的判断。看看其他的例子,并决定什么看起来最好。不要犹豫,尽管问!

特别是:不要仅仅为了遵循这个PEP!

忽略某个特定准则的其他一些好理由:

1.当应用该指导方针时,代码的可读性会降低,即使对于习惯阅读遵循该指导方针的代码的人也是如此。
2.与周围的代码保持一致,但也会破坏它(可能是由于历史原因)——尽管这也是一个清理别人的混乱的机会(以真正的XP风格)。
3.因为所讨论的代码早于指南的引入,并且没有其他原因来修改该代码。
4.当代码需要与不支持风格指南推荐功能的旧版本Python保持兼容时。

代码布局

缩进

每层缩进使用4个空格。

接续行应使用Python的隐式行连接在括号、括号和大括号内垂直对齐换行元素,或使用挂缩进[7]。当使用悬挂缩进时,应考虑以下事项;第一行不应该有任何参数,并且应该使用进一步缩进来清楚地区分自己是接续行。

应该的:

#以起始定界符对齐。
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空格规则是可选的,用于接续行。

可选:

#挂起的缩进* *可以* *缩进到4个空格以外的地方。
Foo = long_function_name(var_one var_two,var_three var_four)'''
当if语句的条件部分足够长,需要写多行时,
值得注意的是两个字符的关键字(即if),
加上一个空格,再加上左括号,
为多行条件语句的后续行创建了一个自然的4个空格的缩进。
这可能会与嵌套在if-语句中的缩进代码产生视觉冲突,
if-语句自然也缩进为4个空格。
PEP没有明确说明如何(或是否)从视觉上区分这些条件行与if语句中的嵌套套件。
在这种情况下,可接受的选项包括但不限于:
'''
#没有额外的缩进。
if (this_is_one_thing andthat_is_another_thing):do_something ()#添加注释,这将为编辑器提供一些区别
#支持语法高亮。
if (this_is_one_thing andthat_is_another_thing):#由于两个条件都为真,我们可以frobnicate。do_something ()#在条件延续行上添加一些额外的缩进。
if (this_is_one_thingand 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',
)

Python PEP8-中文版-全文(1)相关推荐

  1. Python PEP8 编码规范中文版

    Python PEP8 编码规范中文版 2018年01月02日 19:21:09 阅读数:22140 标签: python 更多 个人分类: Python 原文链接:http://legacy.pyt ...

  2. Python PEP8编码规范

    译 Python PEP8 编码规范中文版 2018年01月02日 19:21:09 冒冒大虾 阅读数:57340 原文链接:http://legacy.python.org/dev/peps/pep ...

  3. python pep8模块_读懂PEP8,让你的Python代码更加优雅

    PEP8 <8 号 Python 增强规范>(Python Enhacement Proposal #8),简称PEP8 通俗的来讲 PEP8 是针对 python 代码格式而编订的风格指 ...

  4. 简明python教程-简明Python教程-中文版.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspPython 简明Python教程-中文版.pdf152页 本文 ...

  5. python有中文版吗-python有中文版

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 无意间在github上发现的,看了下内容,还挺全面. ----- # python ...

  6. python安卓版下载安装-python手册中文版apk下载

    python手册中文版apk下载,这是一款可以学习python编程的基础知识的手册,中文讲解,通俗易懂,还有举例子,让你更好实现中文学习,每个步骤都有详细的讲解,让你随时随地学习编程,赶紧来试试吧. ...

  7. think python下载 中文版开源!这或许是最经典的编程教材

    <Think Python>是很多Python初学者的不二入门教材,受到广泛好评.该书原作者是美国Olin工程学院的教授Allen B. Downey,目前该书的原版和中文版本都已免费开源 ...

  8. 笨办法学 Python · 续 中文版

    笨办法学 Python · 续 中文版 原书:Learn More Python 3 The Hard Way 译者:飞龙 自豪地采用谷歌翻译 在线阅读 PDF格式 EPUB格式 MOBI格式 代码仓 ...

  9. python安卓下载-python手册中文版apk下载

    python手册中文版apk下载,这是一款可以学习python编程的基础知识的手册,中文讲解,通俗易懂,还有举例子,让你更好实现中文学习,每个步骤都有详细的讲解,让你随时随地学习编程,赶紧来试试吧. ...

  10. python中一般使用几个空格表示缩进_为什么Python pep-8强烈建议使用标签上的空格来缩进?...

    为什么Python pep-8强烈建议使用标签上的空格来缩进? 我在Stack Overflow和PEP 8上看到,建议仅在Python程序中使用空格进行缩进. 我能理解一致压痕的必要性,我感到痛苦. ...

最新文章

  1. lstm代码_贼好理解,这个项目教你如何用百行代码搞定各类NLP模型
  2. 我对图像金字塔的理解及OpenCV下的实现代码
  3. openAI general intuition
  4. Aop动态代理解决问题
  5. TortoiseSVN无法查看日志和SVN LOG无法查看日志的解决办法。
  6. 栈应用_检测成对符号是否正确使用(代码、分析、汇编)
  7. LeetCode 2136. 全部开花的最早一天(贪心)
  8. RS信道编码(matlab)
  9. java手机编译器_Java编译器手机版
  10. 2022-2027年中国认证检验检测行业市场全景评估及发展战略研究报告
  11. 基于微信公众号测试号进行微信授权登陆
  12. android小米手机拍照功能,小米手机 调用相机拍照后无法返回问题
  13. 教你炒股票27:盘整背驰与历史性底部
  14. 微信号注册人工服务器,两个方法让你一次性找到微信人工客服,简单而又粗暴!...
  15. $(origin variable;)
  16. 【iOS】崩溃收集和解析
  17. 南通大学计算机专业校区,南通大学计算机科学与技术专业
  18. ios 纯代码怎么适配ipad_iOS屏幕适配(纯代码)
  19. 计算机课遇到游戏,信息技术课玩游戏的现象及想法
  20. 【计算1970年到任意一个年月距离有多久】

热门文章

  1. 铁威马远程samba服务器稳定,NAS网络存储的Samba访问
  2. C语言实现当前时间的前后多少秒的时间计算
  3. nargin在matlab中是什么意思
  4. Maven中央仓库地址(实用版)
  5. 国外免费3D模型下载网站
  6. 使用openfire开发插件
  7. Python3 open()函数
  8. 【学生管理系统】用户登录三种验证方式—图片验证、短信验证、邮件验证
  9. 用三剑客取ip地址的方法(请忽略脱裤子放屁的~)
  10. 有生之年,被FCoin坑到底?