程序在一般情况下是按顺序执行的,就像流水账一样,一条一条顺序运行
当然,有时候我们需要根据条件来有选择的执行某些语句,或者重复执行某些语句
Python 提供了各种控制结构,允许更复杂的执行路径
条件语句是通过一条或多条语句的执行结果 ( True 或者 False ) 有选择性的执行的代码块
我们可以通过下图来简单了解条件语句的执行过程
Python 语言中
任何非 0 和非空 ( null ) 值为 true,0 或者 null 为 false
Python if 条件语句用于控制程序的执行,语法如下
语法
if condition :
statement(s)
else:
else_statement(s)
如果 condition 为 True ,则执行后面的语句,语句可以多行,用缩进表示同一范围
else 为可选语句,当 condition 为 False 时 else_statement(s)
范例
Python if 语句的简单使用
#!/usr/bin/python
# -*- coding: UTF-8 -*-
flag = False
name = 'basic'
if name == 'python': # 判断变量否为 'python'
flag = True # 条件成立时设置标志为真
print 'welcome www.twle.cn' # 并输出欢迎信息
else:
print name # 条件不成立时输出变量名称
运行以上 Python 代码,输出结果为
basic
判断语句
if 语句的判断条件 ( condition ) 可以用 >(大于)、=(大于等于)、<=(小于等于)来表示其关系
当判断条件为多个值时,可以使用以下形式
if condition_1 :
statement_1
elif condition_2:
statement_2
elif condition_3:
statement_3
else:
else_statement
范例
下面的代码演示了 if...elif...else 的简单使用
#!/usr/bin/python
# -*- coding: UTF-8 -*-
num = 5
if num == 3: # 判断num的值
print 'boss'
elif num == 2:
print 'user'
elif num == 1:
print 'worker'
elif num < 0: # 值小于零时输出
print 'error'
else:
print 'roadman' # 条件均不成立时输出
运行以上 Python 代码,输出结果如下
roadman
代替 switch 语句
Python 不支持 switch 语句
所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时
使用 or ( 或 ) 表示两个条件有一个成立时判断条件成功
使用 and ( 与 ) 表示只有两个条件同时成立的情况下,判断条件才成功
#!/usr/bin/python
# -*- coding: UTF-8 -*-
num = 9
if num >= 0 and num <= 10: # 判断值是否在0~10之间
print 'hello' # 输出结果: hello
num = 10
if num < 0 or num > 10: # 判断值是否在小于0或大于10
print 'hello'
else:
print 'undefine' # 输出结果: undefine
num = 8
# 判断值是否在0~5或者10~15之间
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15):
print 'hello'
else:
print 'undefine' # 输出结果: undefine
当 if 有多个条件时,可使用括号来区分判断的先后顺序
括号中的判断优先执行,此外 and 和 or 的优先级低于 > ( 大于 )
简写的 if 语句
如果 if 语句中 statements 只有一条,可以和 if 语句放在同一行
#!/usr/bin/python
# -*- coding: UTF-8 -*-
var = 100
if ( var == 100 ) : print "变量 var 的值为100"
print "end."
运行以上 Python 代码,输出结果如下
变量 var 的值为 27
end.