【python】Python if else条件语句详解
前面我们看到的代码都是顺序执行的,也就是先执行第1条语句,然后是第2条、第3条……一直到最后一条语句,这称为顺序结构。
但是对于很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能成年人使用,儿童因为年龄不够,没有权限使用。
这时候程序就需要做出判断,看用户是否是成年人,并给出提示。
在 Python 中,可以使用 if else 语句对条件进行判断,然后根据不同的结果执行不同的代码,这称为选择结构或者分支结构。
Python 中的 if else 语句可以细分为三种形式,分别是 if 语句、if else 语句和 if elif else 语句,它们的语法和执行流程如表1所示。
语法格式 | 执行流程 |
---|---|
if 表达式: 代码块 |
|
if 表达式: 代码块 1 else: 代码块 2 |
|
if 表达式 1: 代码块 1 elif 表达式 2: 代码块 2 elif 表达式 3: 代码块 3 ...//其它elif语句 else: 代码块 n |
对语法格式的说明:
- “表达式”可以是一个单一的值或者变量,也可以是由运算符组成的复杂语句,形式不限,只要它能得到一个值就行。不管“表达式”的结果是什么类型,if else 都能判断它是否成立(真或者假)。
- “代码块”由具由相同缩进量的若干条语句组成。
- if、elif、else 语句的最后都有冒号
:
,不要忘记。
二、if else 如何判断表达式是否成立
上面说过,if 和 elif 后面的“表达式”的形式是很自由的,只要表达式有一个结果,不管这个结果是什么类型,Python 都能判断它是“真”还是“假”。
- 布尔类型(bool)只有两个值,分别是 True 和 False,Python 会把 True 当做“真”,把 False 当做“假”。
- 对于数字,Python 会把 0 和 0.0 当做“假”,把其它值当做“真”。
- 对于没有 return 语句的函数,返回值为空,也即 None。
- 对于其它类型,当对象为空或者为 None 时,Python 会把它们当做“假”,其它情况当做真。比如,下面的表达式都是不成立的:
"" #空字符串 [ ] #空列表 ( ) #空元组 { } #空字典 None #空值
【实例】if elif 判断各种类型的表达式:
b = False if b: print('b是True') else: print('b是False') n = 0 if n: print('n不是零值') else: print('n是零值') s = "" if s: print('s不是空字符串') else: print('s是空字符串') l = [] if l: print('l不是空列表') else: print('l是空列表') d = {} if d: print('d不是空字典') else: print('d是空字典') def func(): print("函数被调用") if func(): print('func()返回值不是空') else: print('func()返回值为空')
b是False
n是零值
s是空字符串
l是空列表
d是空字典
函数被调用
func()返回值为空