当前位置:首页>python>利用AI,零基础速通Python · 04

利用AI,零基础速通Python · 04

  • 2026-08-27 08:14:02
利用AI,零基础速通Python · 04
-这是 空框|Reframe 的第 20 篇文章-
上一篇我们解决的是一个非常关键的结构性问题——当数据从“单个值”变成“一组对象”之后,Python如何管理、遍历并加工它们。 列表解决了“数量”,字典解决了“语义”,For 循环解决了“批量执行”。
但到这里,其实还有一个非常明显的缺口。
现实世界中,并不是所有数据都应该被同样对待。有些用户需要被优先处理,有些任务应该被延后,有些行为应该被阻止,有些操作则需要被触发。
也就是说:自动化不仅需要“重复执行”,还需要“做出判断”。
这一篇,我们进入一个非常基础、但从产品与系统视角看极其核心的概念——布尔值(True / False)与条件判断(if / else)。

当系统开始区分“状态”
布尔(Bool)
在之前的文章里,我们更多是在“处理数据”。而现在,我们开始关心:数据当前处于什么状态。Python中有一种非常特殊的数据类型:
TrueFalse
它们看起来像字符串,但实际上不是。
它们是一种独立的数据类型,叫做:布尔(Boolean)。你可以把它理解为:对世界最小粒度的判断表达。例如:
is_logged_in = Trueis_trial_expired = False
这两个变量并不是内容,而是“状态”。在真实系统中,这类状态无处不在:用户是否登录、会员是否过期、设备是否在线、数据是否有效等。
布尔值的存在,是为了让程序可以基于“状态”采取不同策略。

布尔值通常来自“比较”
比较符号
很多时候,我们并不会直接写True或False,而是通过比较得到它。例如:
daily_focus_minutes = 42print(daily_focus_minutes >= 60) 
结果是:False
常见的比较方式包括:
大于( > )小于( < ) 大于等于( >= ) 小于等于( <= ) 相等( == )
这里有一个非常容易混淆的点:= 是赋值,而 == 是比较是否相等。
假设你在做一个运动App:
heart_rate = 162threshold = 155print(heart_rate > threshold) 
如果结果是True,就说明:用户已经进入高强度区间。
这类判断,在真实产品里随处可见。

当多个条件同时存在
And 和 Or
现实世界的判断,很少是单一维度。Python提供了逻辑运算:and和or。例如: 
wifi_ok = True sync_enabled = True print(wifi_ok and sync_enabled) 
只有两个都满足,才会返回 True。 如果使用:
print(wifi_ok or sync_enabled) 
只要任意一个成立即可。
假设你在做一个智能下载策略:
on_wifi = False battery_over_50 = Trueprint(on_wifi or battery_over_50) 
如果返回True,就允许继续下载。 
这类“多条件策略”,在实际系统设计中非常常见。

让程序根据条件执行不同操作
If / Else

到这里为止,我们只是“得到”True/False。接下来才是关键:让程序根据判断结果执行不同动作。

这就是if的作用。标准结构: 

if 条件:     执行动作 

例如:

notifications = 12if notifications > 0:     print("显示未读提醒") 

如果条件成立,代码执行。 否则,不发生任何事情。

但真实系统中,我们往往不仅关心“成立时做什么”,还关心“不成立时”怎么办。

if 条件:     执行Aelse:     执行B 

例如一个非常现实的行为约束:

screen_time_today = 185if screen_time_today > 180:     print("进入强制休息模式") else:     print("继续使用") 

这时,程序开始具备“策略分岔”。


把条件判断放入批处理流程

现在,把上一篇学到的“集合处理”能力和这一篇的“判断”结合起来。假设你在做一个学习节奏管理工具:

modules = [     {"name": "变量与数据", "progress": 100},     {"name": "循环基础", "progress": 80},     {"name": "自动化项目", "progress": 20} ]

你希望:已完成的模块不再提醒,未完成的模块继续提示学习:

for module in modules:     if module["progress"] == 100:        print("已完成:", module["name"])     else:         print("继续推进:", module["name"]) 

这段代码的本质,其实已经非常接近真实产品中的“进度管理逻辑”。


为什么说你刚刚接触的是“智能行为的最小单元”

如果把视角拉高一点,你会发现:AI并不是一开始就具备复杂推理能力。

在工程实现层面,很多能力依然建立在:状态判断、条件分支、策略选择等基础之上。例如是否调用更大模型,是否触发多轮对话,是否进入检索增强流程等。

一个极其常见的AI路由策略可能只是:

if 用户输入很长:     调用长文本分析流程else:     直接生成回复

也就是说:布尔与 if/else,本质上就是“决策系统”的最小颗粒。

过去学习编程,很多人把注意力放在语法是否记住以及函数是否会写上面。但在AI时代,情况发生了一个非常明显的变化——基础语法可以随时问 AI。但如何设计判断逻辑、如何拆分状态、如何定义策略分支等这些能力和问题,无法被模型直接替代。

你会逐渐发现:真正决定自动化质量的,不是代码行数,而是条件结构设计得是否合理。


你现在应该达到什么程度?

这一篇看完,希望你能够:

1、理解 True / False 是“状态表达” 

2、能通过比较得到布尔值 

3、能用 and / or 组合多个条件 

4、能用 if / else 让程序产生不同路径 

5、能把条件判断放入循环流程中 

你已经完成了一次非常关键的跃迁:从“批量执行”,进入“策略驱动的自动化”。


如果把整个学习过程当作一个产品体验路径来看,第一篇,你让环境运行起来;第二篇,你理解数据如何被表示;第三篇,你学会让数据流动,而这一篇,你开始让系统具备“决策能力” 。

在真实AI产品中,大量看似复杂的能力,最终都会被拆解为状态定义、条件判断、行为分支和持续迭代。

因此,这一阶段的重点,并不是记住多少语法,而是开始建立一种新的建模方式——把世界抽象为一组状态,再为不同状态设计不同策略。 

当这种思维稳定下来,你会发现:编程语言只是表达工具,而“如何判断与决策”,才是可以迁移到任何技术栈、任何AI系统中的底层能力。

[空框|Reframe]

 感谢您的阅读,欢迎您的关注

最新文章

随机文章