暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python编程规范修炼-PEP8规范解读

后厂川哥 2021-08-13
244

 一天老大让你去修改别人的代码时,当你怀着热切的心情打开代码定睛一瞧,缩进错乱,命名不规范,通篇没注释,你是不是有那木一刻非常想提起四十米的大刀大喊一声:狗贼,洒家一刀!!!

  

因代码不规范,码农枪击4名同事的事件真的在美国出现过.

为了防止世界被破坏,为了守护世界的和平,呸呸呸,串台了。咱吧,也不为别的,就为了把代码写的漂亮整洁,让同事一看,嚯,这代码真靓。

  

有句笑话是这样讲的:代码写的好的人,离职后找个人很快就能接手代码,而代码写的乱的人则是公司的不可替代人才!为何叫不可替代人才呢,自己写的代码回头看一看自己都看不懂,这境界就叫做不可替代。

  

因此我们需要非常重视编程规范?那么什么是编程规范,又都有哪些呢?

编程规范指的是什么

编程规范,指的是一组规则或指导意见,建议你,要求你,在编程时,用某种计算机语言写代码时,如何写,要遵循什么意见或建议。

一般来说,不是强制的,但是是多数人都遵守的一些规范。

不过,很多公司,倒是强制性的,使用统一的某种规范,此时,此规范或约定,就是要强制性的实行了。

在讨论编程规范时,另外还有几个常提到的概念,在此处可以理解基本上是同一个意思:

  • 编程约定Coding Convention(s)

  • 编程规范Coding Rule(s)

  • 编程风格Coding Style(s)

  • 编码标准Coding Standard(s)


编程规范有哪些

  • 不同编程语言有自己的编程规范

  • 不同公司或组织有自己的编程规范

  • PEP8解读

  • google规范解读

规范里面大部分是 不要做的项多, 要做的比较少, 落地比较容易 代码最主要的不是性能,而是可读性, 有了可读性才有维护性 我觉得我的编码习惯比技术更有价值

程序猿不招妹子们喜爱的根本原因在于程序员追求了错误的目标:更短、更小、更快。

  

PEP8解读

python官网PEP8文档地址:https://www.python.org/dev/peps/pep-0008/

1. 什么是PEP?

PEP是 Python Enhancement Proposal 的缩写,翻译过来就是 Python增强建议书 。

PEP8译者:本文基于 2013-08-02 最后修改的 PEP8 版本翻译,若要查看英文原文,请参考PEP8

然而,有时候编码规范的建议并不适用。

许多项目都有一套专有的编码风格指南,当冲突发生时,应以项目编码规范为优先。

特别是不要为了遵守PEP约定而破坏兼容性!

当以下情况发生时,也是忽略某个风格指南的好理由:

  1. 当遵守规范会降低代码可读性,甚至对于那些依循 PEP 去阅读代码的人也是这样时。

  2. 当遵守规范会与其他部分的代码风格背离时 — 当然也许这是一个修正某些混乱代码的机会。

  3. 当那些并没有遵循规范的旧代码已无法修改时,而且也没有充足的理由去修改他们。

  4. 当你的代码需要与旧版本的 Python 保持兼容,而旧版本的 Python 不支持规范中提到的特性时。

2.PEP8的主要内容

PEP8从代码布局、字符串定义方式、表达式与空格、注释的使用、文档描述、命名规范、编码建议甚至连空格的使用都有一些明确的规范,接下来我们一个一个刨析。


1. 代码布局

1.1. 代码缩进
  • 每一级缩进使用4个空格。

  • 续行应该与其包裹元素对齐,要么使用圆括号、方括号和花括号内的隐式行连接来垂直对齐,要么使用挂行缩进对齐

  • 当使用挂行缩进时,应该考虑到第一行不应该有参数,以及使用缩进以区分自己是续行。

不推荐:


# 没有使用垂直对齐时,禁止把参数放在第一行
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)