【FDE系列】阶段2:Day 22:变量、数据类型、条件判断 — Python 的“记忆“和“判断“

📚前言

📒FDE系列内容总纲:

【大纲】FDE 前沿部署工程师学习系列教程-CSDN博客

🚄前置课程列表:

阶段一:

【FDE系列】阶段1Day 1:AI 层级关系 --- 四个嵌套的圈-CSDN博客

【FDE系列】阶段1Day 2:AI 三阶段发展史 --- 会认 → 会判断 → 会创造-CSDN博客

【FDE系列】阶段1Day 3:符号 AI vs 机器学习 --- 两条路线的本质区别-CSDN博客

【FDE系列】阶段1Day 4:Transformer 的历史意义 --- 2017 年的分水岭-CSDN博客

【FDE系列】阶段1Day 5:本周复习与自测 --- 检验你的 AI 认知地基-CSDN博客

【FDE系列】阶段1Day 6:Transformer 架构 --- 一张图纸盖出千千万万栋楼-CSDN博客

【FDE系列】阶段1Day 7:LLM 本质 --- 文字接龙机器-CSDN博客

【FDE系列】阶段1Day 8:Token --- 模型眼中的最小单位-CSDN博客

【FDE系列】阶段1Day 9:AI 幻觉 --- 为什么会一本正经地胡说八道-CSDN博客

【FDE系列】阶段1Day 10:上下文窗口 --- 模型的记忆力上限 + 本周复习-CSDN博客

【FDE系列】阶段1Day 11:Prompt --- 给模型立规矩-CSDN博客

【FDE系列】阶段1Day 12:Memory --- 让模型记住上下文

【FDE系列】阶段1Day 13:RAG --- 给模型配图书管理员-CSDN博客

【FDE系列】阶段1Day 14:Tool Use --- 让模型动手操作-CSDN博客

【FDE系列】阶段1Day 15:MCP --- 统一的工具接口标准 + 第三周复习-CSDN博客

【FDE系列】阶段1Day 16:什么是 FDE --- 把 AI 变成客户结果的人-CSDN博客

【FDE系列】阶段1Day 17:FDE vs 传统实施 --- 三大本质区别-CSDN博客

【FDE系列】阶段1Day 18:FDE 三重身份 + C6 胜任力模型-CSDN博客

【FDE系列】阶段1Day 19:七阶段行动路径 + 行业经验的价值-CSDN博客

【FDE系列】阶段1Day 20:阶段总结与产出物 --- 第一阶段收官-CSDN博客


阶段二:

【FDE系列】阶段2:Day 21:Python 环境搭建 --- 写出你的第一行代码-CSDN博客


🚀阶段2·Day 22:变量、数据类型、条件判断 --- Python 的"记忆"和"判断"

FDE 学习系列教程 · 第二阶段 · 第 1 周 · Day 2 预计时长:2 小时 | 难度:★★☆☆☆ | 前置知识:Day 21(环境搭建)
📌 一句话目标:掌握 Python 如何存储数据(变量/数据类型)和做判断(if/elif/else),写出第一个有逻辑的小程序。

🧑‍🤝‍🧑 老哥开场白

兄弟,昨天环境装好了,跑出了第一行代码。今天进入正题------怎么让程序"记住东西"和"做判断"

你学 AI 时知道 Agent 有 Memory 拼图------程序也得有"记忆"。变量就是程序的记忆单元。

判断更简单------"如果温度超过 80 度就报警",这就是 if 语句。今天把它搞懂。

👉 今天内容不难,但信息量大。变量/数字/字符串/布尔/if,五个概念。每学一个就打开 Python 交互模式试一下------边学边敲效果最好。

🎯 变量:程序的"储物箱"

📦 一句话说清

变量 = 给数据贴个标签。你把一个值放到内存里,贴个标签(变量名),以后用标签就能找到它。

复制代码
# 把"王明"存起来,标签叫 name
name = "王明"

# 把 28 存起来,标签叫 age
age = 28

# 用的时候喊标签名就行
print(name)    # 输出:王明
print(age)     # 输出:28

🎭 类比

复制代码
变量 = 快递柜的格子

name = "王明"  →  把"王明"放进一个格子,格子上贴标签"name"
age = 28       →  把 28 放进另一个格子,格子上贴标签"age"

以后只要喊 name,它就给你"王明"
只要喊 age,它就给你 28

🔧 变量命名规则

复制代码
✅ 可以用:
device_name = "A3"      # 单词用下划线连
fault_count = 5          # 小写
user_name_2 = "李四"     # 可以加数字
温度 = 25                # 中文也行(但不推荐)

❌ 不可以:
3name = "张三"           # 不能数字开头
my-name = 28             # 不能有短横
class = "A3"             # class 是 Python 关键字,不能当变量名

💡 FDE 建议:用英文下划线命名 ------device_namefault_count。后面调 API、对接系统时都是英文环境。

🔄 变量可以改

变量变量,重点在"变"。同一个标签,可以随时换里面的东西:

复制代码
temperature = 25
print(temperature)    # 25

temperature = 82      # 直接贴新值,旧的被覆盖
print(temperature)    # 82

temperature = temperature + 3   # 还能自己更新自己
print(temperature)    # 85

📊 四大基本数据类型

Python 里最主要的数据类型就四种。搞懂它们,后面写什么都有底。

类型 写法 是什么 能做什么 FDE 怎么用
整数 int 42-50 整数 加减乘除 设备编号、故障次数
浮点数 float 3.14-0.5 带小数 精确计算 温度、价格、评分
字符串 str "hello"'你好' 文字 拼接、截取、查找 API 返回内容、用户输入
布尔 bool TrueFalse 是/否 条件判断 "温度超了没?""权限够不够?"

🧪 用 type() 看类型

打开 Python 交互模式(终端输入 python 回车),逐行敲:

复制代码
>>> type(42)
<class 'int'>          # 整数

>>> type(3.14)
<class 'float'>        # 浮点数

>>> type("hello")
<class 'str'>          # 字符串

>>> type(True)
<class 'bool'>         # 布尔值

💡 看到尖括号 <class 'int'> 别懵,class 在这里就是"类型"的意思。type() 是你以后排查 bug 的神器------数据不对,先看类型。


🔢 整数和浮点数:数字家族

算术运算符
复制代码
>>> 7 + 3     # 加
10
>>> 7 - 3     # 减
4
>>> 7 * 3     # 乘
21
>>> 7 / 3     # 除(结果永远是小数)
2.3333333333333335
>>> 7 // 3    # 整除(扔掉小数部分)
2
>>> 7 % 3     # 取余(7 除以 3 余几)
1
>>> 2 ** 3    # 幂(2 的 3 次方)
8

⚠️ 两个除法最容易混:/ 正常除,结果带小数;// 整除,只留整数部分。FDE 里算"每 100 条数据分一批,能分几批"就用 //

int 和 float 的小坑
复制代码
>>> 0.1 + 0.2
0.30000000000000004      # 😳 怎么不是 0.3?

这不是 Python 的 bug,是所有计算机浮点数的通病(二进制存不下精确的 0.1)。

💡 涉及钱的场景别用 float 硬算,要么用整数存"分"(price = 1999 表示 19.99 元),要么用专门的 decimal 模块。知道有这回事就行,不用死磕。


📝 字符串:文字家族

字符串就是用引号包起来的文字。单引号、双引号都行:

复制代码
name1 = "注塑机A3"
name2 = '注塑机A3'        # 两种写法完全等价

# 文字里本身有引号怎么办?换一种引号包
sentence = "他说:'设备过热了'"
字符串拼接
复制代码
>>> "设备:" + "注塑机A3"
'设备:注塑机A3'

>>> "=" * 20             # 字符串还能乘法!快速画分割线
'===================='
f-string:字符串里塞变量(超高频使用)
复制代码
device = "注塑机A3"
temperature = 82.5

# 字符串前面加 f,花括号 {} 里放变量
msg = f"告警:{device} 当前温度 {temperature}℃"
print(msg)
# 输出:告警:注塑机A3 当前温度 82.5℃

📌 f-string 是写报告、拼日志、调 API 的必备技能 。只要在引号前加个 f{变量名} 就会自动变成值。这个语法今天必须练熟。

花括号里还能做计算、调函数:

复制代码
>>> f"故障数:{3 + 2}"
'故障数:5'
>>> f"温度保留1位小数:{82.567:.1f}"
'温度保留1位小数:82.6'
常用字符串操作
复制代码
s = "  Device Fault: OVERHEAT  "

len(s)                  # 长度(含空格):27
s.strip()               # 去掉两头空格 → "Device Fault: OVERHEAT"
s.lower()               # 转小写 → "  device fault: overheat  "
s.upper()               # 转大写
s.replace(" ", "_")     # 替换:空格变下划线
"OVERHEAT" in s         # 判断包含关系 → True
s.split(":")            # 按冒号切开 → ['  Device Fault', ' OVERHEAT  ']

这节也简单,老手可以略过。不过 strip()split() 在清洗客户数据时天天用,扫一眼也不亏。


✅ 布尔值:True 和 False

布尔值只有两个:True(真)False(假),注意首字母大写,没有引号。

它通常不是你手写的,而是比较出来的

复制代码
>>> 82 > 80
True
>>> 82 < 80
False
>>> 82 == 82       # 判断相等用两个等号!
True
>>> 82 != 80       # != 表示"不等于"
True

⚠️ 头号新手坑 :判断"等不等于"必须写 ==(两个等号)。写一个 = 是赋值,意思是"把右边塞进左边",不是比较。

复制代码
❌ 错误:
if temperature = 80:      # 语法错误!= 是赋值
    ...

✅ 正确:
if temperature == 80:     # == 才是比较
    ...

🔄 类型转换:四兄弟互转

复制代码
int("42")        # 字符串 → 整数:42
float("3.14")    # 字符串 → 小数:3.14
str(42)          # 数字 → 字符串:"42"
int(3.99)        # 小数 → 整数:3(直接砍掉小数,不是四舍五入!)

int("abc")       # ❌ 报错:文字没法变数字

💡 FDE 场景:从 API 或文件读进来的数字,经常是字符串 "82",不能直接比大小,要先 int("82") 转一下。这个坑你以后一定会踩,提前记住。

🔀 条件判断:让程序学会"看情况"

if:如果......就......

if 的中文就是"如果"。结构长这样:

复制代码
temperature = 85

if temperature > 80:
    print("⚠️ 温度超标!")

注意两个关键点:

  1. 条件后面有个冒号 :

  2. 下一行要缩进 4 个空格(VS Code 按 Tab 会自动帮你缩进)

    if 条件:
    条件成立才做的事(缩进=从属关系)

⚠️ 缩进是 Python 的命根子 。其他语言用花括号 {} 圈定代码块,Python 用缩进。同一级的代码必须对齐,少一个空格都报错。刚开始会不习惯,写两天就自然了。

if-else:二选一

复制代码
temperature = 65

if temperature > 80:
    print("⚠️ 温度超标!")
else:
    print("✅ 温度正常")

else 不能单独用,它是 if 的"另一半"------if 不成立,就走 else。

if-elif-else:多选一

elif = else if,"否则如果"。可以接任意多个:

复制代码
score = 76

if score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 60:
    print("及格")
else:
    print("不及格")

程序从上往下挨个检查:
  score >= 90?  否 ↓
  score >= 80?  否 ↓
  score >= 60?  是 → 打印"及格",后面的全部跳过

📌 Python 只会执行第一个命中的分支,命中后整个 if 结构直接结束。所以条件顺序要从严格到宽松,不能反过来。

🔗 逻辑运算符:and / or / not

需要同时满足多个条件时:

运算符 意思 例子 结果
and 并且(两边都真才真) True and False False
or 或者(一边真就真) True or False True
not 取反 not True False
复制代码
temperature = 85
vibration = 12

# 两个条件同时满足才报警
if temperature > 80 and vibration > 10:
    print("🚨 严重告警:温度和振动双超标")

# 满足任意一个就关注
if temperature > 80 or vibration > 10:
    print("📢 设备状态异常,请检查")

# not:把 True 变 False
is_running = False
if not is_running:
    print("设备已停机")

🪆 嵌套 if:判断里套判断

复制代码
temperature = 92

if temperature > 80:
    print("温度超标")
    if temperature > 90:
        print("🚨 紧急!立即停机检查")
    else:
        print("⚠️ 安排巡检")

这里要拐个弯了,稍微费点脑子,但摸透了就豁然开朗------嵌套本质就是"大条件里再分小条件",跟你做故障排查的思路一模一样:先看有没有异常,有异常再分级。层级别超过三层,太深说明该拆了。

🛠️ FDE 实战:设备温度分级报警

把今天学的串起来。在 VS Code 新建 alarm.py,敲入:

复制代码
# ===== 设备温度分级报警小程序 =====

# 模拟从传感器读到的数据(实际项目中这来自 API 或数据库)
device_name = "注塑机A3"
temperature = 87.3
vibration = 11.2
is_running = True

print("=" * 40)
print(f"设备巡检报告:{device_name}")
print("=" * 40)

if not is_running:
    print("状态:⛔ 设备停机,本次跳过检测")
else:
    print(f"状态:🟢 运行中")
    print(f"温度:{temperature}℃")
    print(f"振动:{vibration} mm/s")

    # 温度分级判断
    if temperature >= 90:
        level = "紧急"
        action = "立即停机,通知维修班"
    elif temperature >= 80:
        level = "严重"
        action = "10 分钟内到场排查"
    elif temperature >= 70:
        level = "注意"
        action = "加密巡检频次"
    else:
        level = "正常"
        action = "无需处理"

    print("-" * 40)
    print(f"告警级别:{level}")
    print(f"处置建议:{action}")

    # 双指标联动
    if temperature >= 80 and vibration >= 10:
        print("-" * 40)
        print("🚨 联动告警:温度+振动双超标,优先处理!")

print("=" * 40)
print("巡检结束")

运行 python alarm.py,观察输出。然后改这几个变量的值多跑几次:

  1. temperature = 95 → 看是不是"紧急"

  2. temperature = 60 → 看是不是"正常"

  3. is_running = False → 看是不是直接跳过检测

  4. temperature = 85, vibration = 5 → 看联动告警还出不出现

💡 这就是真实 FDE 脚本的雏形:读数据 → 判断 → 输出结论。明天学了循环,就能一次巡检 100 台设备;后天学了字典,每台设备的数据能整整齐齐装在一起。

📝 本课小结

知识点 一句话记住
变量 给数据贴标签:name = "王明"
命名 英文小写下划线:device_name
四种类型 int 整数 / float 小数 / str 文字 / bool 真假
type() 不确定类型时照妖镜
f-string f"温度是 {temp}℃",拼字符串神器
== vs = 两个等号才是比较,一个等号是赋值
if-elif-else 多选一,从上往下,命中即走
and / or / not 并且 / 或者 / 取反
缩进 4 个空格,Python 的命根子

💡 今天最核心的认知:变量让程序有了"记忆",if 让程序有了"判断"。记忆 + 判断 = 程序逻辑的最小骨架。你写的每一个 FDE 脚本,骨架都是这两样。


📋 课后练习

  1. 类型辨识 :在交互模式里对 10"10"10.010 == 10 分别用 type() 查看,把结果抄下来。想想它们为什么是四种不同的东西。

  2. 工单分级器 :写一个 ticket.py,定义变量 response_minutes(响应时长,分钟)。规则:≤15 分钟"SLA 优秀",≤60 分钟"SLA 达标",否则"SLA 超时"。用 if-elif-else 打印结果,至少用三组不同的值测试。

  3. 改造报警脚本 :在今天的 alarm.py 基础上,给振动也加一个分级(≥15 紧急 / ≥10 严重 / 其余正常),并让最终报告同时显示温度级别和振动级别。


💭 今日反思

  1. 今天哪些概念跟你的行业经验能对上号?(比如 SLA 分级、设备告警阈值)

  2. 缩进、==、类型转换这三个坑,你踩了几个?把报错信息抄到笔记里------报错文本是以后最好的复习资料。


明天预告 :今天只能判断一台设备、一组数据。明天学循环 (让同样的逻辑跑 100 遍不喊累)和函数(把一段逻辑打包成"自定义命令",随用随调)。学完明天,你的代码就开始有"工程"的样子了。


FDE 学习系列教程 · 第二阶段 · 第 1 周 Day 2 · 完

相关推荐
钱栈up1 小时前
health从200变000:一次差点引发双端口冲突的后端巡检复盘
python
一拳不是超人1 小时前
之前用 AI 两小时写的塔罗网站,我真把它做上线了,然后呢?
前端·人工智能·程序员
a努力。1 小时前
AI原生AIOps平台,核心架构怎么搭
人工智能
女神下凡1 小时前
端侧 AI 产品 有什么产品
人工智能·嵌入式硬件
深海鱼肝油ya1 小时前
向量数据库Elasticsearch(二)介绍&安装&常用操作
人工智能·elasticsearch·kibana·向量数据库·文档操作·索引操作·域的属性
美狐美颜SDK开放平台1 小时前
直播APP如何兼顾画质与低延迟?视频美颜SDK性能优化开发思路
人工智能·深度学习·音视频·美颜sdk·第三方美颜sdk
Rocky Ding*1 小时前
【三年面试五年模拟】2026-09-10 百度多模态大模型一面:9道技术问答与2道手撕题详解
论文阅读·人工智能·深度学习·机器学习·百度·aigc·ai-native
打工仔折腾 AI2 小时前
Pascal Editor 本地部署实战:Bun 启动 WebGPU 3D 编辑器并解决公网访问报错
人工智能·后端·python·性能优化
甲维斯2 小时前
《钢铁洪流》开发笔记:AI策略升级!
人工智能·游戏开发