python语法规范

行与缩进

缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。实例如下:

if True:    
    print ("True") 
else:    
    print ("False")

以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:

  if   True:
    print("Answer")
    print("True")
  else  :
    print("Answer")
  print("False")   # 缩进不一致,会导致运行错误

以上程序由于缩进不一致,执行后会出现类似以下错误:

 File "test.py", line 6
    print ("False")    # 缩进不一致,会导致运行错误
                                      ^
IndentationError: unindent does not match any outer indentation level

多行语句

Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句,例如:

total = item_one + \
        item_two + \
        item_three

在 [], {}, 或 () 中的多行语句,不需要使用反斜杠\,例如:

total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']

同一行显示多条语句

Python 可以在同一行中使用多条语句,语句之间使用分号 ; 分割,以下是一个简单的实例:

#!/usr/bin/python3  

import sys; x = 'runoob'; 

sys.stdout.write(x + '\n')

使用脚本执行以上代码,输出结果为:

runoob

使用交互式命令行执行,输出结果为:

>>> import sys; x = 'runoob'; sys.stdout.write(x + '\n')
runoob
7

此处的 7 表示字符数,runoob 有 6 个字符,\n 表示一个字符,加起来 7 个字符。

>>> import sys
>>> sys.stdout.write(" hi ")    # hi 前后各有 1 个空格
 hi 4

多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。

像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

我们将首行及后面的代码组称为一个子句(clause)。

如下实例:

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

空行分隔

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是 Python 语法的一部分。书写时不插入空行,Python 解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

**记住:**空行也是程序代码的一部分。