Python控制语句
介绍
如果说Python和其它语言最大的不同,那么就在于Python强制使用缩进来使得代码更具可读性和优雅。
所有的程序都是由顺序、分支、循环结构所构成的,由于Python并不是使用分号表示结束语句,也不是使用大括号来表示代码块的。
所以对于学过C系语言的人来说,一开始可能觉得有点别扭,但是一旦你知道Python的精要你就会觉得Python这么做是合理和优雅的。
顺序执行语句
所有的程序通常都是从头开始执行,一直往下执行。这比较容易理解,也符合人们的正常思维
print("first")
print("second")
备注:程序会先打印first然后打印second
顺序执行流程会在多线程环境下被打破,以后再具体说。
分支执行语句
Python中的分支有如下两种形式
if else形式:
if condition:
dosomething1()
else:
dosomething2()
if elif else形式:
if condition:
dosomething1()
elif condition:
dosomething2()
...
else:
dosomething3()
备注:第一种形式表示只有两条分支,第二种形式表示有多条分支。
备注:注意书写格式/缩进
循环执行语句
while循环
普通while循环
while condition:
dosomething()
Python特有while循环
while condition:
dosomething()
else:
doOtherthing()
备注:我们常用的还是第一种while循环,第二种while循环在C系语言中是没有的。
for循环
for x in <序列集合>:
dosomething()
Python的for循环从根本上不同于C/C++的for循环。C#程序员会注意到Python的for循环与C#中的foreach循环十分类似。Java程序员会注意到它与Java 1.5中的for (int i : IntArray)相似。
在C/C++中,如果你想要写for (int i = 0; i < 5; i++),那么用Python,你写成for i in range(0,5)。你会注意到,Python的for循环更加简单、明白、不易出错。
备注:python的for循环和java的增强for循环差不多。
break语句
break语句是用来 终止 循环语句的,即哪怕循环条件没有称为False或序列还没有被完全递归,也停止执行循环语句。
一个重要的注释是,如果你从for或while循环中 终止 ,任何对应的循环else块将不执行。
import math
for x in range(1,10):
if (x%3==0):
break
print(x)
# 结果为1,2
continue语句
continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后 继续 进行下一轮循环
import math
for x in range(1,10):
if (x%3==0):
continue
print(x)
# 结果为1,2,4,5,7,8
备注:注意区别break和continue的不同点
总结
所有程序设计语言的程序控制语句大体结构上都是相同的,只是在细节方面每种语言可能或多或少有点区别。
掌握好一门语言,再学另外一门语言时就会很容易。推荐先学习一门C系语言,毕竟C语言出现的早影响范围广(很多程序语言都有参考C语言)。
Python的缩进绝对是Python比较特殊的一个特性,理解好了你会爱上它,否则你会觉得它束缚了你写代码。缩进本身就是为了让你写出更具可读性代码。
参考
1、https://docs.python.org/3/reference/compound_stmts.html 2、http://www.ibiblio.org/swaroopch/byteofpython/read/control-flow.html