【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 全栈测开技能!
相关推荐
keyipatience1 分钟前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
我的xiaodoujiao6 分钟前
快速学习Python基础知识详细图文教程9--函数进阶
开发语言·python·学习·测试工具
Xzaveir6 分钟前
别把所有“认证”都塞进 AuthService:实名、一键登录与号码身份的领域拆分
android·人工智能
BerrySen17817 分钟前
KMP全栈开发:从Android到AI Agent的技术演进与实践
android·人工智能
战族狼魂22 分钟前
高频面试题精选:分治与AI Agent架构
人工智能·算法·大模型·大语言模型
weixin_4080996727 分钟前
2026 图片去水印 API 接口完全指南:一键去除图片水印(附 Python/Java/PHP/C# 示例)
java·python·php·图片处理·api调用·图片去水印·石榴智能
Scott9999HH34 分钟前
告别流量波动玄学!从法拉第电磁定律到底层 C/C++ 流量累积算法,深度解密工业级电磁流量计选型与开发
c语言·c++·算法
爱喝水的鱼丶41 分钟前
SAP-ABAP:ALV通用封装实践——搭建可复用的ALV开发工具类,减少80%重复代码
开发语言·性能优化·sap·abap·erp·alv
钱六两1 小时前
#3、SpringAI 接入deepSeek大模型(喂饭版)
java·spring boot·ai编程