Python条件判断用来根据真假走不同代码分支。Python 语言里用 if 写主分支,用 elif 追加其他条件,用 else 承接前面都不成立时的情况。空列表、0、None 等也会被当成假。

数字大于 0 就打印正数,否则走另一条分支,就是最常见的一种写法:

判断数字正负

num = 3
if num > 0:
    print(num, "是正数")
print("这句话始终会输出")

输出:

3 是正数
这句话始终会输出

if 行末的冒号 : 不能省,缩进进去的语句才属于该分支,上面第二个 print 没有缩进,所以不论条件真假都会执行。

if ... else

num = -5
if num >= 0:
    print("0 或正数")
else:
    print("负数")

输出:

负数

if ... elif ... else:多分支

条件不止两个时,用 elif 依次往下试,命中一个就停止,后面的分支不再判断:

Python if-elif-else 条件判断示例运行
num = 3.4
if num > 0:
    print("正数")
elif num == 0:
    print("零")
else:
    print("负数")

一个 if 结构里 else 最多一个,elif 可以写任意多个。

开始条件?执行 if 分支执行 else 分支后续代码结束

if / else 执行流程:条件为真走 if 分支,为假走 else 分支

嵌套 if

分支里面还可以再写 if,靠缩进层级表示嵌套深度:

num = float(input("输入数字: "))
if num >= 0:
    if num == 0:
        print("零")
    else:
        print("正数")
else:
    print("负数")

输出(输入 5):

正数

嵌套层数一多就难读,能改成 elif,或满足条件后尽早 return / 跳出,通常更清晰。

什么值算假

if 后面不限于比较表达式,任意对象都能当条件。会被当成 False 的包括:00.0、空字符串 ''、空列表 []、空字典 {}NoneFalse。其余情况一般视为 True。

if []:
    print("空列表是假的,不会进来")
else:
    print("进了 else")

if "hi":
    print("非空字符串为真")

输出:

进了 else
非空字符串为真

因此判空可以写成 if not data:,表示 data 为空时进入该分支。

条件里组合逻辑

age = 20
if age >= 18 and age <= 65:
    print("成年且未退休")
if age < 12 or age > 60:
    print("优待人群")

常见错误

1. 忘写冒号:if 行末必须有 :,否则直接语法错误。

2. 缩进不对齐:同一分支内的语句缩进层级要一致。

3. 用 = 做比较:判断相等要用 ==

4. 浮点直接比相等0.1 + 0.2 == 0.3 的结果是 False,这是二进制浮点精度问题。更稳健的处理方式是看两者差值是否小于一个很小的数。