嘿,朋友,今天咱们不整那些高大上的术语,也不搞什么“从入门到放弃”的复杂教程。我就想和你聊聊天,像两个刚学编程的小伙伴坐在咖啡馆里,一边啃着泡面,一边聊聊Python里的“如果…那么…”——也就是我们常说的条件语句。
你可能已经看过不少教程,也背过 if、elif、else 这些关键字,但一到自己写代码就懵了:
“到底该不该加冒号?”
“缩进几个空格?”
“and 和 or 到底哪个先执行?”
别急,这些问题我都经历过。当年我第一次写 if 语句的时候,由于少了个冒号,愣是卡了半小时,最后差点以为自己不适合编程……
但实则,条件语句没那么难。它就像你在生活中做的每一个决定:
“如果今天下雨,我就带伞;否则就穿短袖出门。”
“如果工资涨了,我就去旅游;如果没涨,那就继续搬砖。”
你看,这不就是 if-else 吗?编程里的条件判断,本质上就是把我们每天都在做的选择,翻译成计算机能听懂的语言。

一、从一个简单的判断开始:if 是什么?
我们先来写一行最简单的代码:
if 2 > 1:
print("这是一个正确的判断!")
这行代码的意思是:“如果 2 大于 1,那就打印一句话。”
结果当然是打印出来了,由于 2 的确 大于 1。
但你有没有注意到,print 前面有四个空格?这就是 Python 的缩进规则。
重点来了:Python 不用大括号 {} 来划分代码块,而是靠缩进来识别哪些代码属于 if 分支。
如果你写成这样:
if 2 > 1:
print("这会报错!")
运行就会报错:IndentationError: expected an indented block
——意思是:“兄弟,你忘了缩进啊!”
所以记住一句话:在 Python 里,缩进不是风格问题,是语法要求!
提议每次都用 4个空格 缩进,别用 Tab,也别混着用,不然哪天代码出问题,你会想砸键盘。
二、生活中的选择题:if-else 才是真·日常
光有 if 还不够,生活中大多数选择都是“二选一”甚至“多选一”。
列如你去菜市场买西红柿:
“如果价格低于5块,我就买一斤;否则我就走人。”
翻译成 Python 就是:
price = 6
if price < 5:
print("买它!")
else:
print("太贵了,不买了!")
输出结果是:“太贵了,不买了!”
再列如你想买只狗,但预算有限:
value = input("这个狗狗多少钱? ")
value = int(value)
if value < 10:
print("真是个超值的买卖!")
elif 10 <= value <= 20:
print("这个价格也还可以...")
else:
print("哇!这也太贵了吧!")
这段代码特别实用。你输入一个数字,程序就能根据价格给你提议。是不是有点像那种“智能助手”?
这里用了 elif,它是 “else if” 的缩写,意思是“否则如果……”。它可以有多个,帮你处理更多情况。
小技巧:if 只能有一个,else 也只能有一个,但 elif 可以有无数个!
三、布尔运算:让你的判断更“机智”
现实中的判断往往不是单一条件,而是多个条件组合。
列如你想找对象:
“对方要是长得帅 并且 有房有车,我就思考;
要是长得帅 或者 特别有钱,我也见见;
但如果 不是 已婚的,我才谈。”
这三种情况,正好对应 Python 的三个布尔运算符:and、or、not。
1. or:只要一个成立就行
x = 10
y = 20
if x < 10 or y > 15:
print("至少有一个条件成立!")
虽然 x < 10 是 False(10 不小于 10),但 y > 15 是 True(20 > 15),所以整体为 True,会打印那句话。
✅ 口诀:or 是“包容派”,只要有一个真,我就行动!
2. and:必须全部满足
x = 10
y = 10
if x == 10 and y == 15:
print("这个条件成立")
else:
print("条件没有成立!")
虽然 x == 10 是 True,但 y == 15 是 False,所以整体为 False,走的是 else 分支。
✅ 口诀:and 是“完美主义者”,必须全都对,我才点头!
3. not:反着来!
x = 10
if x != 11:
print("x 不是 11!")
x != 11 就是 “x 不等于 11”,等价于 not (x == 11)。
你也可以这样写:
my_list = [1, 2, 3, 4]
x = 10
z = 11
if x not in my_list and z != 10:
print("这是真!")
这里 x not in my_list 表明“x 不在列表里”,z != 10 表明“z 不等于 10”,两个都成立,所以打印“这是真!”。
四、Python里的“假”值:你以为的False可能不止False
你可能以为,只有 False 才是“假”的。但在 Python 里,有一群“隐形的假值”,它们在 if 判断中也会被视为 False。
这些包括:
- 空字符串 “”
- 空列表 []
- 空元组 ()
- 数值 0
- None(表明“没有值”)
我们来验证一下:
empty_list = []
empty_tuple = ()
empty_string = ""
nothing = None
if not empty_list:
print("这是一个空列表!")
if empty_tuple:
print("这是一个空元组!") # 这行不会执行
if not empty_string:
print("这是一个空字符串!")
if not nothing:
print("这就是‘没有值’!")
输出结果:
这是一个空列表!
这是一个空字符串!
这就是‘没有值’!
看到了吗?空的东西,在 Python 眼里就是“假”的。
这个特性特别有用。列如你从用户那里获取数据,可能得到一个空列表,你可以直接这样判断:
user_input = get_user_data() # 可能返回空列表
if user_input:
print("有数据,开始处理!")
else:
print("用户没输入,提示重新填写")
不用写 if len(user_input) > 0,简洁多了!
五、转义字符:别让“换行”和“制表符”坑了你
有时候你在字符串里想加个换行,或者制表符(Tab),就得用转义字符。
列如:
print("这是第一行
这是第二行")
print("这个句子 有个tab缩进!")
输出:
这是第一行
这是第二行
这个句子 有个tab缩进!
这里的
是换行, 是 Tab 缩进。
如果你真的想打印一个反斜杠 ,就得用 \:
print("这是一个反斜杠 \")
输出:这是一个反斜杠
不然 Python 会以为你是要开始写转义字符,结果报错。
六、神秘代码:if __name__ == “__main__” 到底啥意思?
你必定在许多 Python 文件里见过这行代码:
if __name__ == "__main__":
# 执行某些操作
看起来像暗号,实则它特别实用。
简单来说,这行代码的意思是:
“只有当这个文件是直接运行的,才执行下面的代码;如果是被别人导入的,就跳过。”
举个例子:
你写了一个文件 utils.py,里面有个函数:
def greet():
print("Hello!")
if __name__ == "__main__":
greet()
当你直接运行 python utils.py,会输出 Hello!。
但如果你在另一个文件里 import utils,就不会打印 Hello!,由于此时 __name__ 是 “utils”,不是 “__main__”。
这个技巧常用于写测试代码,或者让脚本既能被导入又能独立运行。
七、为什么条件语句这么重大?
我曾经以为,编程最难的是算法、是数据结构。后来才发现,真正决定代码质量的,是你的逻辑判断能力。
而条件语句,就是你和计算机“沟通逻辑”的桥梁。
你写的每一个 if,都是在告知程序:“在什么情况下,该做什么事。”
这就像人生:
你每天都在做选择,
而程序,也在不断做判断。
“如果今天状态好,就多写点代码;
如果累了,就早点休憩。”
编程,不只是写代码,更是训练思维。
结语:别怕犯错,代码是写出来的,不是背出来的
我知道,刚开始学编程,你会怕出错,怕看不懂,怕自己学不会。
但我想告知你:每一个程序员,都从写第一个 if 语句开始。
我也曾由于一个冒号、一个缩进,折腾一晚上。
但目前回头看,那些“错误”才是让我真正学会的东西。
所以,别怕。
打开你的编辑器,敲下这行代码:
if 你 == 坚持:
print("你必定能学会Python!")
else:
print("再试一次,你离成功只差一个决定")
然后运行它。
让它告知你:你,值得被鼓励。
下一期,我们聊聊 Python里的循环——如何让电脑帮你重复干活,解放双手,做自己的“时间管理大师”。
如果你觉得这篇文章对你有协助,欢迎点赞、转发,让更多人看到。
也欢迎在评论区留下你的第一个 if 语句,我们一起见证成长
这样一讲,通俗易懂了,好像也不难了
讲的挺好的
很强,学习了🤙