乔山办公网我们一直在努力
您的位置:乔山办公网 > word文档 > 代码码了5分钟,BUG用了两小时?3分钟Python代码规范轻松掌握-word大括号

代码码了5分钟,BUG用了两小时?3分钟Python代码规范轻松掌握-word大括号

作者:乔山办公网日期:

返回目录:word文档

1.什么是PEP8

PEP 是 Python Enhancement Proposals 的缩写,直译过来就是「Python增强建议书」也可叫做「Python改进建议书」,说的直白点就是Python相关的一些文档,主要用来传递某些信息,这些信息包括某个通知亦或是某个新的规范。关于更深层次的概念,大家有兴趣的可以自行去了解。

PEP 后面的数字从0开始一直累加,不同的数字代表不同的文档,我们今天介绍的是 PEP8,这个文档主要是用来规范 Python 代码的写法。

代码码了5分钟,BUG用了两小时?3分钟Python代码规范轻松掌握

2.常用的标准

PEP8 里面有很多规范,今天我们主要分享以下一些比较常用的规范。

2.1缩进

我们知道在写 if条件、for循环、while循环、函数等语句时都是需要缩进的,正常来说缩进只要有缩进空格就行,具体缩进几个都行,所谓的无规矩不成方圆,想象一下,你习惯缩进3个,我习惯缩进5个,彼此交换代码的时候,那代码看起来是有多乱。为了避免这种局面的出现,PEP8 就建议缩进统一用4个空格。

# 建议这样if a > b: print("a is max")# 不建议这样if a > b: print("a is max")

还有尽量不要使用 Tab 键代替空格。

2.2最长字符

Python中一行的字符数限制为79个,但是有的时候会超过79,这个时候我们就需要进行换行,在换行的时候优先使用小括号,中括号以及大括号中的隐式续行方式,而不是使用反斜杠进行续行。比如下面的运算符遇上换行符中的例子。

当我们使用括号进行续行时,就涉及到不同行与行的对齐情况。

在多行结构中右括号可以与内容对齐单独起一行作为最后一行的第一个字符。

my_list = [ 1,2,3, 4,5,6 ]

或者也可以与多行结构的第一行第一个字符对齐。

my_list = [ 1,2,3, 4,5,6]

2.3运算符遇上换行

有的时候多个变量名进行运算,在一行放不下时,这个时候就需要换行,那么当运算符遇上换行时我们该怎么换呢?建议在运算符的前面进行换行。

# 建议这样income = (income1 + income2 - cost1 - cost2)# 不建议这样income = (income1 + income2 - cost1 - cost2) 

2.4空白行

函数和类的定义,前后用两个空行隔开,这个就类似于我们在 word 里面编写文档,段前段后留空行。

在前面的举例中,建议这样和不建议这样就可以当作两个函数,这些函数之间是留两空白行。

2.5空格

合适的空格会增加可阅读性,比如英文和中文之间要留有一个空格,这样看起来会相对比较舒服。在 Python 代码中亦是如此。但是空格不可滥用。

建议在二元运算符两边加一个空格:如赋值(=),增量赋值(+=,-=),比较(==,<,>,!=,<>,<=,>=,in,not,in,is,is not),布尔(and, or, not)。

# 建议这样a = 1a = 1+2a > b# 不建议这样a=1a=1+2a>b

但是不建议在小括号,中括号或者大括号之后;逗号、分号或者冒号之前添加空格。

# 建议这样np.array([1,2,3])# 不建议这样np.array( [1,2,3] )np.array([1 ,2 ,3])

在给某个函数参数传入参数值时,不建议使用空格。

# 建议这样plt.label(label="test_title")# 不建议这样plt.label(label = "test_title")

2.6注释

代码注释可以帮助我们很快的理清代码,但是前提是注释写的够好够清晰,要不然不仅不会起到帮助的作用,反而会扰乱视线。关于注释主要有如下规则:

注释应该是完整一句话,如果一个注释是一个短语或简短的一句话,第一个单词应该大写。

如果注释很短,结尾的句号可以省略。块注释一般由完整句子的一个或多个段落组成。并且每句话结束都有个句号。

行内注释是与代码写在同一行的注释,行内注释要和代码保留至少两个空格分隔。注释由#和一个空格开始。

x = max(a,b) # select big one

2.7模块导入

我们知道 Python 中有很多现成的模块可以供我们使用,在使用之前我们需要对模块进行导入,导入模块的时候我们也需要遵循相应的规则。

同时导入多个库的时候,建议分开不同的行进行导入。

# 建议这样import pandasimport numpy# 不建议这样import pandas,numpy

且导入模块的代码总是位于代码的最开始部分,在模块注释和文档字符串之后,在模块的全局变量与常量之前。

2.8命名规范

在 Python 里面会涉及到很多名字,模块名、变量名、函数名、类名。这就和我们人名字一样,都是有一定讲究的。

不要以 Python 中的关键字作为变量名,比如 sum、def、list 等。

不要使用字母‘l’(小写的L),‘O’(大写的O),或者‘I’(大写的I)作为单字符变量名。

在有些字体里,这些字符无法和数字0和1区分,如果想用‘l’,用‘L’代替。

函数名应该小写,如果想提高可读性可以用下划线分隔。

代码码了5分钟,BUG用了两小时?3分钟Python代码规范轻松掌握

3.在Jupyter_notebook使用

上面讲了几种规范,我们可以严格按照上面的规范去写代码,按照规范去做,总觉得会有种束缚,不太舒服,可是不按照规范去写,写出来的代码确实不太美观有不易读,那可怎么办呢?有没有一种工具可以帮助我们把不规范的代码直接更改成 PEP8 的规范呢?答案是有,那就是Autopep8 模块。

首先我们需要去安装一下这个模块,使用如下命令:

pip install Autopep8

安装好 Autopep8 模块以后我们还需要安装一个jupyter_contrib_nbextensions 的插件,这个插件是jupyter_notebook 中的一个插件。

安装好插件以后,我们来到 Nbextensions 部分,然后把 Autopep8打勾。这个时候就可以在 Jupyter_notebook 中使用 PEP8 规范了。

代码码了5分钟,BUG用了两小时?3分钟Python代码规范轻松掌握

那具体该怎么用呢?选中你要规范化的代码,然后点击菜单栏中的「小锤子」,即可完成代码规范,就是这么简单。

代码码了5分钟,BUG用了两小时?3分钟Python代码规范轻松掌握

先看个空格

# 规范前a=1+2---# 规范后a = 1+2

再看个缩进

# 规范前def test_pep(): print("this is test")---# 规范后def test_pep(): print("this is test")

最后,小编这里整理了一些关于Python的学习资料,从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。有需要的小伙伴可以关注并私信“01”免费领取!!免费领取!!免费领取!!(重要的事情说三遍)

相关阅读

  • Python3基础语法-word大括号

  • 乔山办公网word文档
  • word大括号,编码默认情况下,Python3源码文件以UTF-8编码,所有字符串都是unicode字符串。#-*-coding:cp-1252-*-上述定义允许在源文件中使用Windows-1252字符集中的字符编码,对应适合语言为保加
关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网