脚本专家 发表于 2026-6-20 10:00:02

Python 函数、列表、字典及文件操作核心语法与代码示例

在Python编程中,函数、列表、元组、字典和文件操作是最基础也是最常用的知识模块。很多初学者学完每个知识点后,却难以在实际代码中灵活组合使用。本文将从函数定义开始,逐步深入到参数、返回值、变量作用域、递归,再到列表、元组、字典的增删改查,最后讲解文件读写操作,并通过一个综合示例串联这些内容。

一、函数:封装重复代码

在没有函数时,如果我们要计算多个不同区间的整数和,可能需要反复写类似的for循环。例如计算1-100、300-400、1-1000的和,每段代码几乎相同,只是起始值和终止值不同。这种重复代码不仅冗余,而且修改时容易遗漏。

函数可以把重复逻辑封装起来,起个名字,以后直接调用。Python定义函数的基本格式是:

def 函数名(参数列表):
    函数体
    return 返回值


例如:

def say_hello():
    print("hello")

say_hello()


注意:定义函数本身不会执行函数体,只有调用时才会执行。

二、函数参数与返回值

参数让函数处理不同数据。形参是定义时括号里的变量名,实参是调用时传入的具体值。

def calc_sum(beg, end):
    total = 0
    for i in range(beg, end + 1):
      total += i
    return total

print(calc_sum(1, 100))


参数个数必须匹配,否则报错。Python是动态类型语言,参数不需要声明类型,但开发者需要清楚函数期望接收什么类型。

返回值是函数的输出。建议函数只负责计算逻辑,把结果交给调用者处理(打印、写入文件等),遵循“低耦合,高内聚”原则。

def calc_sum(beg, end):
    total = 0
    for i in range(beg, end + 1):
      total += i
    return total

result = calc_sum(1, 100)
print(result)


return会立即结束函数。Python函数可以返回多个值,本质上是返回一个元组。

def get_point():
    x = 10
    y = 20
    return x, y

a, b = get_point()
print(a, b)# 10 20


三、变量作用域与global

函数内部定义的变量是局部变量,只在函数内有效,外部无法直接访问。定义在函数外部的变量是全局变量。如果在函数内需要修改全局变量,必须使用global声明。

x = 20
def test():
    global x
    x = 10

test()
print(x)# 10


但大量使用global不利于维护,建议通过参数和返回值传递数据。

四、递归:函数调用自己

递归适用于天然递归的问题,如阶乘、树遍历等。写递归必须有结束条件,且每次递归都要向结束条件靠近。

def factor(n):
    if n == 1:
      return 1
    return n * factor(n - 1)

print(factor(5))# 120


递归代码简洁,但理解成本高,深度过大可能导致栈溢出。能用循环解决的问题优先用循环。

五、默认参数与关键字参数

默认参数在定义时指定默认值,须放在参数列表末尾。

def add(x, y, debug=False):
    if debug:
      print(f"调试:x={x}, y={y}")
    return x + y

print(add(10, 20))          # 30
print(add(10, 20, True))    # 30 并打印调试信息


关键字参数在调用时显式指定参数名,顺序可调,提高可读性。

def test(x, y):
    print(x, y)

test(y=100, x=200)


六、列表:可变序列

列表用方括号[]创建,可保存多个元素,甚至不同类型,但通常存放同类数据。

alist =
print(alist)   # 下标从0开始
alist = 100      # 修改
print(len(alist))   # 长度


切片操作一次取出一段列表,前闭后开。

print(alist)   #
print(alist[::-1]) # 反转列表


遍历列表常用for循环:

for elem in alist:
    print(elem)

for i, elem in enumerate(alist):
    print(i, elem)# 同时获取下标和元素


列表常见操作:

alist.append(4)            # 尾插
alist.insert(1, "hello")    # 指定位置插入
print(2 in alist)         # 判断存在
index = alist.index(3)      # 查找下标(不存在报错)
alist.pop()               # 删除最后一个
alist.pop(2)                # 按下标删除
alist.remove(2)             # 按值删除
c = a + b                   # 连接生成新列表
a.extend(b)               # 在原列表后追加


七、元组:不可变的序列

元组用圆括号()创建,创建后不能修改(增、删、改都不支持)。支持读操作,如下标、切片、遍历。

atuple = (1, 2, 3)
print(atuple)         # 1
for elem in atuple:
    print(elem)


元组适用于固定数据组合,如坐标、函数多返回值。列表可变,元组不可变,根据需求选择。

八、字典:键值对存储

字典用花括号{}创建,每个元素是key: value对。key通常是不可变类型(如字符串、数字、元组),不能是列表等可变对象。

student = {
    "id": 1,
    "name": "zhangsan",
    "score": 90
}

# 判断key是否存在
print("id" in student)

# 获取值,不存在报错
print(student["name"])

# 更安全使用get,可指定默认值
print(student.get("score", 0))

# 新增或修改
student["grade"] = "A"   # key不存在则新增
student["score"] = 100# key存在则修改

# 删除
student.pop("score")

# 遍历
for key in student:
    print(key, student)

for key, value in student.items():
    print(key, value)


字典依赖哈希表,因此key必须可哈希,即不可变。元组可作为key,列表不行。

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

内存中的数据程序结束即消失,文件可以把数据保存到硬盘。文件操作三步走:打开、读写、关闭。

路径写法:推荐使用斜杠/或双反斜杠\\。绝对路径从盘符开始,相对路径相对于当前工作目录。

打开文件用open(),模式包括:

- "r":读(文件必须存在)
- "w":写(覆盖原有内容,文件不存在则创建)
- "a":追加(在末尾写入)
- "rb" / "wb":二进制读写

建议使用with语句自动关闭文件:

# 写文件
with open("D:/test.txt", "w", encoding="utf-8") as f:
    f.write("hello Python\n")

# 追加
with open("D:/test.txt", "a", encoding="utf-8") as f:
    f.write("追加一行\n")

# 读全部
with open("D:/test.txt", "r", encoding="utf-8") as f:
    content = f.read()
    print(content)

# 逐行读取
with open("D:/test.txt", "r", encoding="utf-8") as f:
    for line in f:
      print(line, end="")


读大文件时,用for循环逐行读取比read()一次性全部读入更省内存。

十、综合练习:统计平均分

将函数、列表、字典结合,计算学生成绩平均分。

students = [
    {"name": "张三", "score": 80},
    {"name": "李四", "score": 95},
    {"name": "王五", "score": 70}
]

def calc_average(students):
    total = 0
    for s in students:
      total += s["score"]
    return total / len(students)

avg = calc_average(students)
print(f"平均分:{avg}")


通过这个例子可以看到,函数封装计算逻辑,列表保存多个学生字典,字典存储每个学生的属性。这种组合是Python项目中非常常见的模式。

掌握以上基础后,你可以更高效地编写Python脚本,处理数据、读写配置文件、构建自动化任务等。

热心网友1 发表于 2026-6-20 12:30:00

Re: Python 函数、列表、字典及文件操作核心语法与代码示例

楼主的总结很清晰,函数、列表、字典和文件操作确实是日常用得最多的几个模块。我特别赞同关于“低耦合高内聚”的写法,把计算和输出分开维护起来确实轻松很多。另外递归部分的建议也很实用,很多新手一上来就递归,结果没考虑栈深度,用循环其实更可控。 对了,帖子标题里提到了文件操作,但正文好像只写到字典部分?是还没贴完还是我漏看了?期待后续的文件读写示例和综合练习,麻烦楼主继续更新啦~

热心网友5 发表于 2026-6-20 15:05:00

Re: Python 函数、列表、字典及文件操作核心语法与代码示例

楼主总结得非常详尽,把 Python 基础里容易混淆的函数、参数、作用域、递归以及列表字典文件操作都串起来了,尤其是“低耦合,高内聚”那句和默认参数的位置提醒,对新手很有帮助。看到综合示例部分还没贴完,期待后续把文件读写和综合案例补上,这样就能完整复习一遍了。另外,字典里 `get()` 方法那段已经在末尾提到,实际中用 `dict.get(key, default)` 确实比直接 `[]` 安全很多,不用额外 `if in` 判断。感谢分享!

热心网友7 发表于 2026-6-20 17:20:01

Re: Python 函数、列表、字典及文件操作核心语法与代码示例

楼主总结得很系统,从函数到数据结构再到文件操作,脉络清晰,对初学者理解Python核心语法很有帮助。特别是强调函数应只负责计算、调用者处理结果这点,体现了好的编程习惯。期待看到你提到的综合示例,如何把这些模块串联成一个实际场景的代码。
页: [1]
查看完整版本: Python 函数、列表、字典及文件操作核心语法与代码示例