if else条件语句¶
在Python中, 可以使用if else语句对条件进行判断, 然后根据不同的结果执行不同的代码, 这称为选择结构或分支结构.
Python中的if else语句可以细分为三种形式, 分别是:
if语句if else语句if elif else语句
# if语句
if expression:
code-block
# if else语句
if expression:
code-block_1
else:
code-block_2
# if elif else语句
if expression_1:
code-block_1
elif expression_2:
code-block_2
elif expression_3:
code-block_3
...
else:
code-block_N
对语法格式的说明:
expression可以是一个单一的值或变量, 也可以是由运算符组成的复杂语句, 形式不限, 只要它能得到一个值就行. 不管expression的结果是什么类型,if else都能判断它是否成立;code-block由具有相同缩进的若干条语句组成;if,elif,else语句的最后都有冒号:, 不要忘记.
一旦某个表达式成立, Python就会执行它后面对应的代码块;
如果所有表达式都不成立, 那就执行else后面的代码块;
如果没有else部分, 那就什么都不执行.
需要注意的是, Python中通过缩进来识别代码块, 具有相同缩进量的若干行代码属于同一个代码块, 所以不能胡乱缩进.
如何判断表达式是否成立¶
只要用于条件判断的expression有一个值, 不管这个值是什么类型, Python都能判断它是”真”还是”假”.
对于布尔类型(bool)只有两个值, 分别是True和False;
对于数字, Python会把零值(0和0.0)当作”假”, 把其它值当作”真”;
对于其它类型, 当对象为空或者为None时, Python会把它们当作”假”, 其它情况当作”真”.
例如, 下面的值都是”假”:
"" # 空字符串
[] # 空列表
() # 空元组
{} # 空字典
None # 空值
缩进¶
Python是以缩进来标记代码块的, 代码块一定要有缩进, 没有缩进的不是代码块. 另外, 同一个代码块的缩进要相同, 缩进量不同的不属于同一个代码块.
if,elif和else后面的代码块一定要缩进, 而且缩进要大于if,elif和else本身;缩进多少合适?
Python要求代码块必须缩进, 但是却没有要求缩进量. 但是根据编程习惯, 通常使用1个Tab键(4个空格)的缩进.
同一个代码块中的语句都要缩进, 且缩进量要相同;
不要随便缩进.
另外需要注意的是, 不需要使用代码块的地方不要缩进, 一旦缩进就会产生一个代码块.
嵌套¶
if, if else和if elif else之间可以相互嵌套.
但需要注意的是, 在相互嵌套时, 一定要严格遵守不同级别代码块的缩进规范.