Python之所以灵活,就是因为它函数式编程的特性。今天开始学习Python的一些高级特性。
控制流
Python等程序语言,都是从程序顶端从上到下一行行执行语句,可以把它想象成线性。生活中的很多情况,并不只是单一的线性。
某程序员的老婆叫他上街买几个桃子,吩咐如果有西瓜,买一个。 后来他就真的只买了一个桃子回来。这里就用到了典型的条件判断(程序员有没有买对的吐槽我们先放下),条件是如果有西瓜。
我们用If表示条件:
这是一个最简单的逻辑判断,当我们发现a大于5,输出特定语句。python用缩进控制语法,当if后面的条件为true时,程序才会执行缩进中的内容,否则跳过。缩进在Jupyter中用tab输入,也可以使用四个空格。
当条件为false时,可以用else,此时不会执行if中的内容,而是else。
条件可以进一步细化,用elif语句。
elif可以使用多个。不论if、elif还是else,后面都要加冒号。当if、elif、else中有一个条件执行为true,后续的条件都pass不执行。
我们把程序员买西瓜的故事简单翻译成代码
条件判断中可以应对更复杂的逻辑。比如有一个数字,我们即想判断它的奇偶,也想判断它能不能被3整除。
if中套着一个if,我们把它称为嵌套。第二层的if,仍旧要遵循缩进规则,它是基于上第一层的逻辑,所以此时距行首八个空格。如果忽略了缩进,会报错。新手在缩进很容易犯错,尤其是在逻辑复杂有七八个缩进的时候。