3、Python基础回顾(一):环境搭建与核心语法
各位同学,咱们正式开始Python基础回顾。说实话,这部分内容看起来简单,但我在带团队时发现,很多自动化脚本跑不起来,根源往往就是环境没配好,或者基础语法理解不透。今天咱们就把地基打牢。
3.1 Python环境搭建——别让环境卡住你
Python环境搭建,说白了就是三件事:装解释器、配路径、验证结果。我见过太多新手在这步翻车,然后怀疑自己智商。其实没那么玄乎。
3.1.1 下载与安装
去官网 python.org 下载对应版本。我个人习惯用Python 3.8+,因为兼容性最好。你想想看,Selenium、Requests这些主流库,对3.8的支持最稳。
3.1.2 验证安装
打开终端(Windows用cmd或PowerShell,Mac/Linux用终端),输入:
python --version
如果看到类似 Python 3.9.7 的输出,说明环境配好了。如果报错,嗯,检查一下PATH环境变量。
3.2 IDE选择——工欲善其事
IDE选哪个?我直接说结论:做自动化测试,PyCharm和VS Code都行,但各有侧重。
| 特性 | PyCharm | VS Code |
|---|---|---|
| 上手难度 | 中等,开箱即用 | 稍高,需要配插件 |
| 调试体验 | ★★★★★ 非常强大 | ★★★★ 够用 |
| 插件生态 | 丰富但偏Python | 极其丰富,全栈通用 |
| 内存占用 | 较大 | 较轻量 |
| 推荐场景 | 大型项目、复杂调试 | 轻量脚本、多语言混用 |
我个人习惯:写测试框架用PyCharm,因为它的调试器能让我一步步看变量变化,排查问题特别方便。但如果你只是写几个小脚本,VS Code完全够用。
3.3 基础语法——变量、数据类型、运算符
这部分是Python的骨架。我建议你边看边敲,光看是记不住的。
3.3.1 变量与命名
Python的变量不需要声明类型,直接赋值就行。但命名要规范:
# 好的命名
test_case_count = 100
base_url = "https://api.example.com"
is_login_success = True
# 不好的命名
a = 100
b = "https://api.example.com"
c = True
为什么强调命名?我在项目中遇到过,同事写了个变量叫 d,三天后他自己都忘了这变量是干嘛的。你想想看,测试框架动辄几千行代码,命名不清就是给自己挖坑。
3.3.2 数据类型
Python常用的数据类型就这几种:
| 类型 | 示例 | 说明 |
|---|---|---|
| int | age = 25 |
整数,测试中常用作计数 |
| float | price = 19.99 |
浮点数,注意精度问题 |
| str | name = "test" |
字符串,最常用 |
| bool | flag = True |
布尔值,条件判断核心 |
| list | items = [1, 2, 3] |
列表,可修改 |
| dict | info = {"key": "value"} |
字典,键值对存储 |
3.3.3 运算符
运算符分几类,我挑最常用的说:
# 算术运算符
a = 10 + 5 # 加法
b = 10 - 5 # 减法
c = 10 * 5 # 乘法
d = 10 / 3 # 除法,结果是浮点数
e = 10 // 3 # 整除,结果是3
f = 10 % 3 # 取余,结果是1
# 比较运算符
print(10 > 5) # True
print(10 == 5) # False
print(10 != 5) # True
# 逻辑运算符
print(True and False) # False
print(True or False) # True
print(not True) # False
这里有个坑:浮点数比较要小心。我曾经在断言接口返回的金额时,用 == 比较两个浮点数,结果死活不通过。后来发现是精度问题,改成 round() 或者用 abs(a - b) < 0.001 才搞定。
3.4 流程控制——让代码有脑子
流程控制就是告诉代码「什么时候做什么事」。没有流程控制,代码就是一串顺序执行的木头人。
3.4.1 if/else 条件判断
测试中最常见的场景:根据响应状态码决定后续操作。
status_code = 200
if status_code == 200:
print("请求成功,开始解析数据")
elif status_code == 404:
print("接口不存在,检查URL")
elif status_code == 500:
print("服务器异常,重试或报错")
else:
print(f"未知状态码:{status_code}")
注意缩进!Python用缩进来表示代码块,这是新手最容易犯的错。我见过有人用Tab和空格混用,结果代码怎么都跑不起来。统一用4个空格,别偷懒。
3.4.2 for 循环——遍历一切
for循环在测试中太常用了。遍历测试数据、遍历接口返回的列表、遍历文件行……
# 遍历列表
test_cases = ["登录", "注册", "搜索"]
for case in test_cases:
print(f"正在执行测试用例:{case}")
# 遍历字典
user_info = {"name": "张三", "age": 28}
for key, value in user_info.items():
print(f"{key}: {value}")
# 结合range生成序号
for i in range(5):
print(f"第{i+1}次尝试")
range(5) 生成的是0到4,不是0到5。这个细节我当年面试时答错过,印象深刻。
3.4.3 while 循环——条件驱动
while循环适合「不知道要循环多少次」的场景。比如重试机制:
retry_count = 0
max_retries = 3
success = False
while retry_count < max_retries and not success:
print(f"第{retry_count + 1}次重试...")
# 模拟请求
success = True # 假设成功了
retry_count += 1
if success:
print("请求成功")
else:
print("重试耗尽,请求失败")
3.5 知识体系总览
下面这张图帮你理清本章的知识结构:
这张图把本章内容串起来了。环境搭建是地基,IDE是工具,语法是砖块,流程控制是设计图。四者缺一不可。
公众号:蓝海资料掘金营,微信deep3321