三:条件语句
在这块,Python与其它大多数语言有个非常不同的地方,Python语言使用缩进块来表示程序逻辑(其它大多数语言使用大括号等)。例如:
if age < 21:
print("你不能买酒。")
print("不过你能买口香糖。")
print("这句话处于if语句块的外面。")
这个代码相当于c语言的:
if (age < 21)
{
print("你不能买酒。")
print("不过你能买口香糖。")
}
print("这句话处于if语句块的外面。")
可以看到,Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。增加缩进表示语句块的开始(注意前面有个:号),而减少缩进则表示语句块的退出。根据PEP的规定,必须使用4个空格来表示每级缩进(不清楚4个空格的规定如何,在实际编写中可以自定义空格数,但是要满足每级缩进间空格数相等)。使用Tab字符和其它数目的空格虽然都可以编译通过,但不符合编码规范。
if和else语句用来进行简单的测试,如:if a < b:z = belse:z = aif和else的语句块用缩近来表示,else从句在某些情况下可以省略。如果if或else语句块只有一个语句,也可以不使用缩进。也就是说:if a<b: z=aelse: a=b这样的写法也是合法的,但这不是推荐的做法。一直使用缩进可以让你方便的在语句体中添加一个语句,而且读起来更清晰。若某个子句子不需要任何操作,就使用pass语句,如:if a<b:passelse:z = a
通过使用or ,and 和not 关键字你可以建立任意的条件表达式:
if b>=a and b <=c
print “b is between a and c”
if not (b < a or b > c)
print "b is still between a and c"
用elif语句可以检验多重条件(用于代替C语言中的switch语句):
if a == '+':
op = PLUS
elif a == '-':
op = MINUS
elif a == '*'
op = MULTIPLY
else:
raise RuntimeError,"Unknow operator"