上一篇你在三台设备上跑通了 Hello World。现在正式学语法之前,先掌握三种运行 Python 代码的方式,在不同场景下灵活切换。
用 Vim 创建 .py 文件,写完代码后用 python3 命令执行。这是日常开发的标准做法。
直接输入 python3 进入交互式解释器,输一行执行一行。适合随手测试语法,但代码不会保存。按 Ctrl+D 或输入 exit() 退出。
在文件第一行写 #!/usr/bin/env python3,给文件加上执行权限后就能像系统命令一样直接运行。这在树莓派和云服务器上部署脚本时很有用。
|
1
2
3
4
5
6
7
8
|
#!/usr/bin/env python3
print("直接执行模式")
# 给文件加执行权限
chmod +x hello.py
# 直接运行(不再需要 python3 前缀)
./hello.py
|
Python 变量像贴了标签的盒子——你不需要提前声明盒子的类型,放进去什么数据,变量就是什么类型。用 = 赋值,用 type() 查看类型。
| 类型 | 名称 | 示例 | 用途 |
|---|---|---|---|
| int | 整数 | 25, -100, 0 |
计数、索引 |
| float | 浮点数 | 3.14, -0.5, 2.0 |
小数运算 |
| str | 字符串 | "hello", 'Python' |
文本处理 |
| bool | 布尔值 | True, False |
条件判断 |
age 和 Age 是两个不同变量
cpu_temp 而非 cpuTemp
if、for、def、class 等
device_1 = "mac"
你已经会定义字符串变量了。现在学习字符串最常用的三个操作:f-string 格式化、切片、内置方法。这三个技能覆盖日常 80% 的文本处理需求。
f-string 是 Python 3.6+ 推荐的字符串格式化方式。在字符串前加 f,用 {} 嵌入变量。比旧的 %s 和 .format() 更直观。
用 [起始:结束] 截取字符串的一段。索引从 0 开始,结束位置不包含。省略起始默认从头开始,省略结束默认到末尾。
| 方法 | 功能 | 示例 |
|---|---|---|
.upper() |
转大写 | "abc".upper() → "ABC" |
.strip() |
去首尾空白 | " hi ".strip() → "hi" |
.split() |
分割成列表 | "a,b,c".split(",") |
.replace() |
替换子串 | "v1".replace("1","2") |
掌握了变量和字符串,接下来需要运算符把数据「加工」成结果。Python 运算符分三类:算术、比较、逻辑。重点记住两个容易混淆的: / 是真除法(结果有小数), // 是整除(直接砍掉小数)。
| 运算符 | 功能 | 示例 | 结果 |
|---|---|---|---|
+ |
加 | 7 + 3 |
10 |
/ |
真除法 | 7 / 2 |
3.5 |
// |
整除 | 7 // 2 |
3 |
% |
取余 | 7 % 2 |
1 |
** |
幂运算 | 2 ** 10 |
1024 |
x % 2 的结果:0 是偶数,1 是奇数。这在循环跳行、数据分组的场景中非常常用。比较运算符返回 True 或 False,逻辑运算符把它们组合起来。这是下一节条件判断的基础。
你已经会比较运算了。条件判断让程序根据比较结果走不同分支——比如温度超过阈值就报警,否则继续监控。Python 用 if / elif / else 三个关键字实现,靠缩进(4 个空格)区分代码块。
|
1
2
3
4
5
6
7
8
9
|
cpu_temp = int(input("输入CPU温度: "))
if cpu_temp >= 80:
print(f"⚠️ 危险! CPU温度 {cpu_temp}°C,立即降温")
elif cpu_temp >= 60:
print(f"⚠ 温度偏高: {cpu_temp}°C")
else:
print(f"✅ 温度正常: {cpu_temp}°C")
|
运行后输入不同温度值,程序走不同分支。关键点:if 条件为 True 时执行其下缩进块,否则检查 elif,都不满足则走 else。
expandtab 后按 Tab 自动转空格。
条件判断让程序分叉,循环让程序重复。for 循环用于「已知次数」的重复,while 循环用于「满足条件就继续」的重复。两个控制语句 break 跳出循环, continue 跳过本轮。
range(n) 生成 0 到 n-1 的整数序列。range(a, b) 生成 a 到 b-1。
|
1
2
3
4
5
6
7
8
9
|
# 模拟 3 次网络连通性检测
for i in range(1, 4):
print(f"第 {i} 次检测...")
if i == 3:
print("检测完成,退出循环")
break
# 输出: 第1次... 第2次... 第3次... 检测完成
|
while 适合「不知道要循环几次,但知道什么时候停」的场景。条件为 True 就继续,为 False 就退出。务必确保循环体内有改变条件的操作,否则死循环。
前面写的代码都是「从上到下执行一次」。当同一段逻辑要重复使用时,把它封装成函数——给这段代码起个名字,传入参数就能调用。函数是代码复用的基本单元,后续所有项目都建立在函数之上。
用 def 定义函数,括号内写参数, return 返回结果。调用时写函数名加括号。
|
1
2
3
4
5
6
7
8
9
10
|
def check_device(name, temp, threshold=60):
"""检查设备温度是否超标"""
if temp >= threshold:
return f"{name}: ⚠ {temp}°C 超标"
return f"{name}: ✅ {temp}°C 正常"
# 调用函数(threshold 有默认值,可省略)
print(check_device("树莓派", 52))
# 输出: 树莓派: ✅ 52°C 正常
print(check_device("云服务器", 78, 70))
|
第 1 行定义了 check_device 函数,三个参数中 threshold=60 是默认参数——调用时不传就用 60。第 2 行三引号字符串是文档说明,可用 help(check_device) 查看。
result = check_device("树莓派", 52) — 必传参数必须都给值
以下练习在任意一台设备上完成(推荐 macOS 或 Termux)。用 Vim 编辑,用 python3 文件名.py 运行。
device_info.py,定义三个变量:设备名(字符串)、内存大小(整数)、是否在线(布尔值),用 f-string 输出格式化信息。name = "树莓派"ram = 8online = Trueprint(f"{name} | {ram}GB | 在线: {online}")
calc.py:用 input() 接收两个数字和一个运算符(+、-、*、/),用 if/elif 判断运算符并输出结果。要求:除法时检测除数是否为 0,是则输出错误提示。float(input("...")) 把输入转为浮点数。结构参考:input 取值 → if/elif 判断运算符 → print 结果或错误。
monitor.py:定义一个函数 check_temp(name, temp, threshold),然后用 for 循环遍历一个包含 3 台设备温度数据的列表(用嵌套列表或字典存储),对每台设备调用该函数并输出结果。要求:函数能根据温度返回不同级别的告警信息,循环结束后统计有多少台设备超标。devices = [["树莓派", 52], ["云服务器", 78], ["Termux", 45]]。函数返回 "正常"/"警告"/"危险" 三种状态,循环中用变量计数超标设备数。