零、if语句
if语句的语法是这样的:
if 条件: 执行代码段
这里的条件可以是一个单独的变量/表达式,也可以是一组(多个)变量/表达式,举个例子
# 只包含一个单独的变量的if语句 a=True if a: print('我是单独的变量!!!') # 只包含一个单独的表达式的if语句 num_1=10 num_2=20 if num_1 < num_2: print('我是单独的表达式!!!!') # 包含一组变量的if表达式 a=True b=True if a and b: print('我是一组变量') # 包含一组表达式的if语句 num_1=10 num_2=20 if num_1 < num_2 and num_1 > 5: print('我是一组表达式')
注意:在python里的代码块使用 : 开始的,而不是向其他的开发语言那样用左大括号开始。
一、if…else语句
当条件分支存在两条分支时,我们使用if语句编写代码是无法实现的,这时我们就引入了另一个语句: if…else 语句,该语句的语法如下:
if 条件: 执行代码段1 else: 执行代码段2
这里我们用例子来看一下:
# 通过性别判断应该进入哪一组 sex='男' if sex == '男': print('进入男生组') else: print('进入女生组') # 通过性别和年龄判断应该进入那一组 sex='男' age=8 if sex == '男' and age <7: print('进入学前组') else: print('进入上学组')
二、if…elif语句
在某些情况下会存在多个条件分支,这样情况下如果使用if…else语句编写代码的话同样也可以实现,但是这样会导致代码难以维护,而且容易出错,这时我们就可以使用 if…elif 语句 ,语法如下:
if 条件1: 执行代码段1 elif 条件2: 执行代码段2 elif 条件3: 执行代码段3 else: 执行代码段4
通过例子看一下使用方法:
age=20 if age >=4 and age <7: print('幼儿园在读') elif age >=7 and age <13: print('小学在读') elif age >=13 and age <16: print('初中在读') elif age >=16 and age <19: print('高中在读') else: print('大学在读')
三、实现switch语句
python中没有switch语句,但是我们可以用多种方式定义switch语句,官方给出的方案是通过 if…elif 语句,在这里我们通过另一种方式 字典(字典将会在后面的课程讲解) 来实现,代码如下:
# 定义一个字典 switch= { '+':lambda x:x+1, '-':lambda x:x-1, '*':lambda x:x*2, '/':lambda x:x/2 } # 调用 print(switch['*'](3))
四、小结
这节课主要讲解了python中的条件判断语句 if、if…else、if…elif 以及通过 字典 的形式实现switch语句,这些都需要读者谨记。
注意:条件判断语句可以多层嵌套(条件语句中包含条件判断语句),但是我不建议大家这么做,这样会影响代码的可读性。如果必须这么做的话,应控制嵌套层数不超过两层,如果超过两层,就要考虑代码逻辑是否存在问题。