【Python 全栈测开之路】Python 基础语法精讲(三):函数、容器类型与文件处理

【深度长文】深入理解网络原理:TCP/IP 协议栈核心实战与性能调优


我的主页: 寻星探路
个人专栏: 《JAVA(SE)----如此简单!!! 》 《从青铜到王者,就差这讲数据结构!!!》
《数据库那些事!!!》 《JavaEE 初阶启程记:跟我走不踩坑》
《JavaEE 进阶:从架构到落地实战 》 《测试开发漫谈》
《测开视角・力扣算法通关》 《从 0 到 1 刷力扣:算法 + 代码双提升》
《Python 全栈测试开发之路》
没有人天生就会编程,但我生来倔强!!!

寻星探路的个人简介:


前言

  在上一篇中我们掌握了流程控制。但在实际的测试开发中,为了提高代码的复用性,我们需要函数 ;为了处理大量的测试数据,我们需要列表、字典 等容器;而为了持久化存储测试结果,文件操作则是必修课。本篇将带你攻克这些核心知识点。


一、 函数:代码复用的艺术

1.1 什么是函数

  函数是一段可以被重复使用的代码片段。它能提高代码的可维护性和可读性。

1.2 函数的定义与调用

  • 定义 :使用 def 关键字。
  • 形参和实参:定义时的变量叫形参,调用时传入的叫实参。
python 复制代码
def add(a, b):  # a, b 为形参
    return a + b

result = add(10, 20)  # 10, 20 为实参
print(result)

1.3 变量作用域

  • 局部变量:在函数内部定义,只能在函数内使用。
  • 全局变量 :在函数外部定义。如果要在函数内修改全局变量,需使用 global 关键字。

二、 容器类型:高效组织测试数据

2.1 列表 (List)

列表是可变的序列,可以存储不同类型的数据。

  • 创建alist = [1, 2, 3]
  • 增加append() 追加到末尾,insert() 插入到指定位置。
  • 查找 :使用 in 判断元素是否存在,使用 index() 查找索引。
  • 删除pop() 根据索引删除,remove() 根据值删除。

2.2 元组 (Tuple)

元组是不可变的序列。一旦创建,不能修改其内容。

  • 创建atuple = (1, 2, 3)
  • 作用:主要用于保护数据不被意外修改,常用于函数返回多个值。

2.3 字典 (Dict)

字典是键值对(Key-Value)结构,查找速度极快。

python 复制代码
student = {
    "id": 1,
    "name": "测开小星",
    "score": 95
}
# 查找数据
print(student["name"])
# 新增/修改
student["city"] = "北京"

三、 文件操作:数据持久化

  在自动化测试中,我们需要读取 .txt.csv 配置文件,并记录测试日志。

3.1 文件的打开与关闭

  使用 open() 打开文件,使用 close() 关闭文件。推荐使用 with 语句,它可以自动关闭文件,防止内存泄漏。

python 复制代码
# 使用 with 语句读取文件
with open('test.txt', 'r', encoding='utf8') as f:
    lines = f.readlines()
    for line in lines:
        print(line.strip())

3.2 读写模式

  • 'r':只读(默认)。
  • 'w':只写(会覆盖原内容)。
  • 'a':追加(在文件末尾写入)。

3.3 编码问题

  处理中文文件时,务必指定 encoding='utf8',否则在不同系统(如 Windows 的 GBK 编码)下容易出现乱码。


四、 测开实战技巧

  1. 参数解包:函数返回多个值时,可以用元组接收,或者直接解包。
python 复制代码
def get_pos():
    return 100, 200
x, y = get_pos()
  1. 字典遍历 :在处理接口返回的 JSON 数据(Python 中表现为字典)时,常用 items() 遍历。
python 复制代码
for key, value in student.items():
    print(f"{key}: {value}")

五、 总结

  函数、容器和文件操作是 Python 编程的中坚力量。函数封装了逻辑,容器容纳了数据,文件保存了成果。掌握了这些,你已经具备了编写复杂自动化工具的能力。


感谢阅读!如果这篇文章对你有帮助,欢迎:

  • 点赞 👍
  • 收藏
  • 关注 我的专栏,一起解锁 Python 全栈测开技能!
相关推荐
eralong1 小时前
Java 面向对象:继承、多态、接口
java·后端
一名普通的电源工程师1 小时前
WRF2424S‑3WR2 适配优选 钡特电源 VF3‑24S24S|3W 工业 DC‑DC 模块电源选型拆解
人工智能·电源模块·工业电源
野三关彭于晏1 小时前
Agent 时代,如何用 AI 重塑教育信息化
人工智能·agent
哦虎!1 小时前
【数据库】事务
java·数据库·mysql
哔哩哔哩技术1 小时前
IndexTTS 2.5 让声音跨越语言
人工智能
liulilittle1 小时前
并发与内存安全术语:定义、分类与关联
c++·安全·并发·术语
CDN3601 小时前
流媒体加速实践:出海东南亚短视频点播频繁缓冲,HLS 分片与 Nginx 配置调优
java·网络·nginx·流媒体加速
_wyt0011 小时前
从图到树:9道洛谷基础题带你入门树形结构
c++·
冯汉栩1 小时前
Swift Control View,Label渐变颜色(源码)
开发语言·ios·swift
Mr_凌宇1 小时前
codex开启1M上下文
人工智能·程序员