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)只有两个值, 分别是TrueFalse;

对于数字, Python会把零值(00.0)当作”假”, 把其它值当作”真”;

对于其它类型, 当对象为空或者为None时, Python会把它们当作”假”, 其它情况当作”真”. 例如, 下面的值都是”假”:

"" # 空字符串
[] # 空列表
() # 空元组
{} # 空字典
None # 空值

缩进

Python是以缩进来标记代码块的, 代码块一定要有缩进, 没有缩进的不是代码块. 另外, 同一个代码块的缩进要相同, 缩进量不同的不属于同一个代码块.

  • if, elifelse后面的代码块一定要缩进, 而且缩进要大于if, elifelse本身;

  • 缩进多少合适?

    Python要求代码块必须缩进, 但是却没有要求缩进量. 但是根据编程习惯, 通常使用1个Tab键(4个空格)的缩进.

  • 同一个代码块中的语句都要缩进, 且缩进量要相同;

  • 不要随便缩进.

    另外需要注意的是, 不需要使用代码块的地方不要缩进, 一旦缩进就会产生一个代码块.

嵌套

if, if elseif elif else之间可以相互嵌套. 但需要注意的是, 在相互嵌套时, 一定要严格遵守不同级别代码块的缩进规范.