龙空技术网

面试必备、程序员必备,python 编码规范,涵盖规范要求全过程

PHM小知 343

前言:

今天看官们对“pythonxdrlib”大致比较关切,兄弟们都想要分析一些“pythonxdrlib”的相关内容。那么小编在网上收集了一些有关“pythonxdrlib””的相关文章,希望咱们能喜欢,姐妹们一起来了解一下吧!

python 编码规范—PEP8指南:开发者、面试逃不开的问题

前一阵子,美国一个程序员枪杀了几名同公司工作的同事,原因竟是因为同事的代码不规范,看着代码非常混乱的他起了谋杀之心。这位程序员的行为不值得提倡,但这件事从侧面告诉了我们:编程代码规范非常重要。

为什么这么说呢?

因为作为一个IT技术开发者,程序员的素质必备之一就是,编码规范。不规范的代码利用价值、维护价值很低,说的不好听一点就是一堆垃圾来的,并且极大的影响了别人读取和修改更新程序代码的效率。甚至在IT开发界提出了“规范第一,效率第二”的口号。这就是我们要学习python编码规范的原因。

下面请开始我的表演:

python 编码规范主要有以下5个方面:

代码布局——导入——表达式和语句中的空格——注释——命名约定

1.代码布局:上下左右总体的布局

(1)缩进:4个空格一个缩进层次,通常在if语句、for语句和while语句等等后面,一个【Tab】键等于4个空格。

(2)行的最大长度:一般每行不超过80字符。

(3)空行:用两行空行分割顶层函数和类的定义;类内方法的定义用单个空行分割;当空行用于分割方法(method)的定义时,在'class'行和第一个方法定义之间也要有一个空行.

2.导入:主要有三个方面

(1)单独的行中导入(Imports):一行只能有一个模块,例如:

No: import sys, osYes: import sysimport os

(2)从一个模块中导入多个子模块:

from subprocess import Popen, PIPE

(3)把模块重新自定义为新的名字:是为了简化模块名

例如:将多线程模块threading重命名为th,以后调用就使用th

import threading as th
3.表达式和语句中的空格:(重点、难点也是细节,要多练才能记住)

(1)不能紧贴在逗号,分号或冒号前,如:

错误:"if x == 4 :print x ,y ;x ,y = y ,x"要修改成:"if x == 4: print x, y; x, y = y, x"

(2)要紧挨着圆括号,方括号和花括号的,如:

错误:"spam( ham[ 1 ], { eggs: 2 } )"要修改成:"spam(ham[1], {eggs: 2})"

(3)要紧贴在索引或切片(slicing?下标?)开始的开式括号前,如:

错误:"dict ['key'] = list [index]".要修改成:"dict['key'] = list[index]".

(4)在赋值(或其它)运算符周围的用于和其它并排的一个以上的空格,如:

错误:

1 x = 12 y = 23 long_variable = 3

正确:

1 x = 12 y = 23 long_variable = 3

(5)始终在这些二元运算符两边放置一个空格:赋值(=), 比较(==, <, >, !=,

<>, <=, >=, in, not in, is, is not), 布尔运算 (and, or, not).

Yes:

i = i + 1submitted += 1x = x * 2 - 1hypot2 = x * x + y * yc = (a + b) * (a – b)

No:

i=i+1submitted +=1x = x*2 - 1hypot2 = x*x + y*yc = (a+b) * (a-b)

(6)不要在用于指定关键字参数或默认参数值的'='号周围使用空格,例如:

Yes:

def complex(real, imag=0.0):return magic(r=real, i=imag)

No:

def complex(real, imag = 0.0):return magic(r = real, i = imag)

(7)不要将多条语句写在同一行上.

正确:

if foo == 'blah':do_blah_thing()do_one()do_two()do_three()

错误:

if foo == 'blah': do_blah_thing()do_one(); do_two(); do_three()
4.注释:单行和多行注释

(1)行内注释:一个行内注释是和语句在同一行的注释.行内注释应该谨慎适用.行内注释应该至少用两个空格和语句分开. 它们应该以'#'和单个空格开始.

(2)多行注释:注释块通常应用于跟随着一些(或者全部)代码并和这些代码有着相同的缩进层次. 注释块中每行以'#'和一个空格开始(除非他是注释内的缩进文本). 注释块内的段落以仅含单个'#'的行分割. 注释块上下方最好有一空行包围(或上方两行下方一行,对一个新函数定义段的注释)

5.命名:

(1)模块名:模块应该是不含下划线的,简短的,小写的名字.例如:re/time/pymysql

(2)类名:几乎没有例外,类名总是使用首字母大写单词串(CapWords)的约定。例如:MyCat/WeChat

(3)异常名:如果模块对所有情况定义了单个异常,它通常被叫做"error"或"Error". 似乎

内建(扩展)的模块使用"error"(例如:os.error), 而 Python 模块通常用"Error" (例如: xdrlib.Error).

(4)函数名:函数名应该为小写,可能用下划线风格单词以增加可读性. mixedCase 仅被

允许用于这种风格已经占优势的上下文(如: threading.py) 以便保持向后兼

容.

(5)方法名和实例变量:这段大体上和函数相同:通常使用小写单词,必要时用下划线分隔增加可读性;使用一个前导下划线仅用于不打算作为类的公共接口的内部方法和实例变量;使用两个前导下划线以表示类私有的名字.

python编码规范教程指南到这里就结束了,这里的规范涵盖了所有python编程规范的要求,对于程序员这是非常重要的教程,建议大家收藏,时不时拿出来熟记一下。

标签: #pythonxdrlib