Python条件判断(if语句)的基础讲解
在Python中,我们经常需要根据某些条件来决定程序的执行路径,比如当某个数值大于另一个数值时执行某段代码,否则执行另一段。本文将介绍常见的if、elif、else用法,以及短写写法与逻辑运算符,让你更轻松地编写条件判断。
1. Python中的逻辑条件
在数学里常见的比较操作符同样适用于Python:
- a == b:判断a是否等于b
- a != b:判断a是否不等于b
- a < b:判断a是否小于b
- a <= b:判断a是否小于或等于b
- a > b:判断a是否大于b
- a >= b:判断a是否大于或等于b
这些条件通常与if语句或循环一起使用。
2. if语句的基本用法
最简单的if语句形式:
a = 33
b = 200
if b > a:
print("b大于a")
上面代码里,Python会先检查b > a
是否成立。如果成立就执行print
语句,否则不执行。
2.1 注意缩进
Python通过缩进来判断代码块范围,缺少缩进会导致错误:
# 错误示例,缺少缩进会报错
a = 33
b = 200
if b > a:
print("b大于a") # 会发生错误
3. if...elif...else 多分支判断
当需要判断多种情况时,可使用elif:
a = 33
b = 33
if b > a:
print("b大于a")
elif a == b:
print("a和b相等")
else:
print("a大于b")
程序会按顺序检查各条件并执行第一个为真的分支;如果所有条件都不满足,则执行else
。
3.1 只使用else
如果只需判断true/false两种情况,可省略elif,如:
a = 200
b = 33
if b > a:
print("b大于a")
else:
print("b不大于a")
4. 短写(短路)语法
Python允许将简单的if或if...else写在一行:
# 单行 if
a = 10
b = 5
if a > b: print("a大于b")
# 单行 if...else(三元表达式)
print("A") if a > b else print("B")
还可写多条件:
a = 10
b = 10
print("A") if a > b else print("=") if a == b else print("B")
5. 逻辑运算符:and、or、not
Python使用以下逻辑运算符来组合多个条件:
- and:所有条件都为真时返回真
- or:只要有一个条件为真就返回真
- not:取反结果
示例:
a = 200
b = 33
c = 500
# and用法
if a > b and c > a:
print("两者条件都成立")
# or用法
if a > b or a > c:
print("至少有一个条件成立")
# not用法
a = 33
b = 200
if not a > b:
print("a不大于b")
6. 嵌套if(nested if)
可以在if语句内部再写另一个if判断:
x = 41
if x > 10:
print("大于10")
if x > 20:
print("并且大于20")
else:
print("但不大于20")
使用嵌套结构要注意缩进层级,以保持代码清晰。
7. pass语句
如果你想写一个if块但暂时不决定做什么,必须用pass
来占位,避免语法错误:
a = 33
b = 200
if b > a:
pass # 暂时什么都不做
总结
- if:检查条件是否为真,为真则执行。
- elif:在第一个条件为假时继续检查其他条件。
- else:以上都不满足时执行。
- and / or / not:逻辑运算符,可组合多个条件。
- 缩进:Python用空白来表明代码块范围,必须对齐。
- 短写语法:简化代码书写,但要确保可读性。
- pass:在if块中临时占位,避免语法错误。
当你能熟练掌握Python条件和逻辑写法,就能更好地控制程序流转,编写出逻辑清晰、灵活的代码。