Python 函数学习心得体会
这段时间系统学习了 Python 函数算是把我之前一直模糊不懂的知识点彻底理顺了。以前写代码都是一堆循环堆在一起很乱、不好改重复代码特别多。学完函数之后我才真正明白为什么要封装代码。首先我搞懂了普通函数和匿名函数的区别。平时常用的功能、逻辑比较复杂的就正常定义函数方便重复使用。如果只是临时用一下、逻辑很简单比如排序取值就可以用匿名函数不用起名写起来很简洁。# 普通函数适合多次调用、逻辑复杂场景 def get_stu_id(stu): return stu[id] # lambda匿名函数适合一次性简单逻辑 lambda stu: stu[id]这次学习也彻底弄懂了列表和函数是怎么配合工作的。列表只管存数据函数负责提供规则。比如字典列表排序程序不知道按什么排就靠函数取出 id、年龄这些字段实现自定义排序之前一直不懂为什么要传函数现在完全明白了。stu_list [{id:105,name:小张},{id:102,name:小李}] # 将取值函数传入sorted完成自定义排序 res sorted(stu_list, keyget_stu_id)同时我分清了全局变量和局部变量也会用对应的关键字修改变量。以前在函数里改值外面不变一直踩坑现在知道了作用域的区别写代码很少出错了。num 10 def modify_global(): global num # 声明操作全局变量 num 20 def outer(): n 5 def inner(): nonlocal n # 修改外层嵌套函数变量 n 8 inner()还亲手练习了冒泡排序和选择排序知道了两种排序的特点一个写着简单但交换多一个交换少但不稳定做题的时候能根据情况选择。# 冒泡核心逻辑 for i in range(n): for j in range(n-i-1): if arr[j]arr[j1]: arr[j],arr[j1]arr[j1],arr[j] # 选择排序核心逻辑 for i in range(n): min_idxi for j in range(i1,n): if arr[j]arr[min_idx]: min_idxj arr[i],arr[min_idx]arr[min_idx],arr[i]另外接触了系统模块学会简单操作电脑路径、文件还有获取程序运行信息感觉 Python 能做的事情变多了。import os,sys os.getcwd() # 获取当前工作路径 sys.path # 获取模块检索路径最后通过写学生管理系统、成绩管理系统真正体会到函数的用处。把新增、查询、修改、删除每个功能单独写成函数代码结构特别清楚改 bug、加功能都很方便不会一团乱。# 管理系统拆分功能函数示例 def add_student(): pass def search_student(): pass def edit_student(): pass