知识点
本文无非围绕以下两个知识点进行讲述:
- Python使用缩进来表示代码块,不需要使用大括号 {} 。
- 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。
啥是代码块
首先,我们先要知道啥是代码块,在C语言和Java等语言里面的代码块长这样:
if(a==b)
{
// 我是if的
// 代码块
}
else
{
// 我是
// 属于else
// 的代码块
}
很熟悉吧,而在Python里面的代码块长这样:
if a==b:
// 我是
// 属于if
// 的代码块
else:
// 我是
// 属于else
// 的代码块
明白了吧,也就是说,在C语言里面,用 “{}” 括起的里面就是属于同一个代码块,而在Python中,具有相同缩进长度的连续代码行就是同一个代码块。
啥是缩进
那么啥是缩进咧?我们一般说的缩进就是一行代码前面的那些空格,先看图:
我们可以看到,从第二行到第七行代码的前面都是有一段空格的,也就是那些小白点,一个小白点就表示一个空格。
细心的你可能会发现,第2、6、7行的缩进有四个空格,而第2、3、4行的缩进却有八个空格,这是为何?
实际上,我们可以把缩进理解为一个单位,在上面的代码中,我们假设四个空格为一个缩进,利用缩进的不同来把代码分成不同的层级,就会变成下面这样:
这样我们就可以清楚的分辨出整个代码的结构了,比如上面红框中的代码就属于 sub(a, b) 的,而蓝框部分的代码就属于 sub(a, b) 里面的 if 判断的。
缩进的长度
那么问题来了,缩进的长度一定得是四个空格吗?
答案是否定的。开头也说了:“缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。”
也就是说,只要你同一个层级的代码的缩进长度一样就可以了,比如下面这样子用一个空格作为缩进也是可以的:
由于第2、6、7行都属于一个层级,所以只要他们的缩进长度一样就ok啦。
下面是个错误的例子:
可以看到,第6行使用了两个空格,而第1和第7行使用了一个空格,同层级的缩进不一样,导致Python识别不了代码块,报错了。
总结
虽然代码缩进的长度没有限制,但是一般的Python代码规范都是统一使用四个空格或者两个空格作为一个缩进的,这样更便于代码的阅读。
总而言之,在写代码的时候你使用四个空格或者使用一个Tab作为一个缩进准没错。
以上。
转载请注明:XAMPP中文组官网 » python小白入门系列教程2:缩进和换行基本操作