目录
1. 语法
2. 常见用法
2.1. 比较符判断
2.2. 逻辑符判断
2.3. 成员符判断
2.4. 三目运算
1. 语法
记住3个关键字:if(表示如果)、elif(再如果)、else(否则)
if [条件1]:
print("如果满足条件1,那么执行该缩进内代码")
elif [条件2]:
print("如果满足条件2,那么执行该缩进内代码")
else:
print("如果不满足条件1和条件2,那么执行该缩进内代码")
- 注意:关键字后面需要加上冒号
2. 常见用法
2.1. 比较符判断
常见的比较符
- 大于(>)
- 小于(<)
- 等于(==)
- 不等于(!=)
- 大于等于(>=)
- 小于等于(<=)
例1(整数比较)
a = 1
if a < 5:
print('a小于5')
elif a > 10:
print('a大于10')
else:
print('a既不小于5,又不大于10')
结果
a小于5
例2(等值比较)
name = '小黑'
if name == '小李':
print('name是小李')
elif name == '小王':
print('name是小王')
else:
print('name既不是小李,又不是小王')
结果
name既不是小李,又不是小王
例3( int类型不等于str类型,即使表面看起来一样 )
a = '5'
if a == 5:
print('a=5')
else:
print('a不等于5')
结果
a不等于5
2.2. 逻辑符判断
常见的逻辑判断符
- 与(and):必须全部满足条件
- 或(or):满足一个条件即可
- 非(not):取反
and 必须满足全部条件
例1:两个条件都满足,走if缩进代码
a = 5
if (a > 1) and (a < 10):
print('a满足条件')
else:
print('a不满足条件')
结果:
a满足条件
例2:其中有一个条件不满足,走else缩进代码
a = 11
if (a > 1) and (a < 10):
print('a满足条件')
else:
print('a不满足条件')
结果:
a不满足条件
or 满足其中一个条件即可
例1:只满足了其中一个条件,走if缩进代码
a = 11
if (a > 10) or (a < 5):
print('a满足条件')
else:
print('a不满足条件')
结果:
a满足条件
例2:两个条件都满足,走if缩进代码
a = 11
if (a > 10) or (a < 15):
print('a满足条件')
else:
print('a不满足条件')
结果:
a满足条件
例3:都不满足条件,走else缩进代码
a = 8
if (a > 10) or (a < 5):
print('a满足条件')
else:
print('a不满足条件')
结果:
a不满足条件
not 取反
a = 10
if not (a == 10):
print('此处条件为a=10,但是取反,所以a不等于10')
else:
print('此处条件为a!=10,但是取反,所以a等于10')
- 判断的时候取反,比如:a = 10,取反后 a != 10;a > 10,取反后 a <= 10。
一次判断可以使用多个逻辑符
if (a > 1) and (a > 2) and (a > 3):
if (a > 1) or (a > 2) or (a > 3):
if ((a > 1) or (a < 10)) and ((b > 1) or (b < 10)):
if ((a > 1) or (a < 10)) and ((b > 1) or (b < 10)) or not (c < 10):
逻辑运算符的优先级
not > and > or
2.3. 成员符判断
常见的成员运算符
in:包含
not in:不包含
in 判断某个元素是否在列表中
L = [1, 2, 4, 5]
if (2 in L):
print('2在列表中')
else:
print('2不在列表中')
结果:
2在列表中
not in 判断某个元素是否不在列表中(取反)
L = [1, 2, 4, 5]
if (3 not in L):
print('3不在列表中')
else:
print('3在列表中')
结果:
3不在列表中
2.4. 三目运算
语法
[True代码] if [条件] else [false代码]
[True代码1],[True代码2] if [条件] else [false代码1],[false代码2]
例1(打印某字符)
>>> a = 1
>>> print('a等于1') if (a == 1) else print('a不等于1')
a等于1
例2(运算后赋值)
if 和 else 仅有一条代码时,根据判断返回结果
>>> num = 1 if (2>1) else 2
>>> print(num)
1
if 和 else 有多条代码时,判断为真:除了else第1个代码不执行,其他全部执行
>>> num = 1,10 if (2>1) else 2,20
>>> print(num)
(1, 10, 20)
if 和 else 有多条代码时,判断为假:除了if第1个代码不执行,其他全部执行
>>> num = 1,10 if (1>2) else 2,20
>>> print(num)
(1, 2, 20)
使用逗号会根据判断去执行某代码块,而使用分号不论判断真假,都取第一个值
>>> num = 1;10 if (1>2) else 2;20
>>> print(num)
1
>>> num = 1;10 if (2>1) else 2;20
>>> print(num)
1
例3(判断嵌套)
print('true') if (1>2) else (print('true') if (2>1) else print('false'))
- 将红框看做一个大整体,蓝框则是大整体else下的小整体