# 跟李宁老师学Python视频课程(7):函数——从“能跑”到“写得漂亮”的关键一步
在Python编程的学习道路上,函数是告别“面条代码”、迈向结构化编程的核心分水岭。许多初学者习惯于将所有逻辑塞进主流程,导致代码冗长、难以复用且bug难寻。本节课程由李宁老师主讲,系统性地拆解了函数的定义、调用、参数传递机制以及作用域规则,旨在帮助你建立起清晰的模块化思维。
首先,课程从“为什么要使用函数”入手,强调代码复用的价值。通过“创建和使用函数”的实战演练,你将掌握`def`关键字的基本用法。值得一提的是,李宁老师特别强调了“为函数添加文档注释”的习惯,这不仅是代码规范,更是未来团队协作和维护的重要基石。
参数传递是本节的难点也是重点。李老师清晰地区分了“没有返回值的函数”与有返回值函数的区别,并深入讲解了“改变函数参数的值”。在这里,你需要理解Python中“可变对象”与“不可变对象”在传参时的本质差异——这是许多新手踩坑的高发区。通过具体的案例演示,你将学会如何预测和控制变量在函数内外的状态变化。
接着,课程进阶到更灵活的参数形式。“关键字参数”和“参数默认值”让你的函数调用更加语义化;而“可变参数”(即`*args`和`**kwargs`)则赋予了函数处理不确定数量参数的强大能力。特别需要注意的是“将序列中的元素值作为函数对应的参数值传递”这一节,单星(`*`)和双星(`**`)操作符在解包序列时的应用,是编写高阶函数必备的利器。
此外,李宁老师还深入剖析了“函数作用域”与“变量作用域”,明确了全局变量与局部变量的边界,避免因变量污染引发的隐性错误。课程后半部分引入了“函数递归”这一高级技巧,通过实例讲解递归的终止条件与执行逻辑,帮助你解决阶乘、斐波那契数列等经典问题。最后,通过“局部函数”和“lambda表达式”的介绍,展示了如何精简代码结构,用更函数式的方式替代简单的局部定义。
配合13道练习题的详尽讲解,本课程内容扎实、案例丰富。无论你是想巩固基础,还是希望提升代码的可读性与健壮性,这节课都是通往Python高手之路的必经之地。建议学习时亲手敲代码,重点理解参数传递的内存机制,这将为你后续学习面向对象编程打下坚实基础。
课程目录
课程目录17 集
- 1 为什么要使用函数 (09:03).mp4
- 2 创建和使用函数 (07:38).mp4
- 3 为函数添加文档注释 (04:26).mp4
- 4 没有返回值的函数 (05:41).mp4
- 5 改变函数参数的值 (09:25).mp4
- 6 改变函数参数的值(案例) (26:20).mp4
- 7 关键字参数和参数默认值 (15:23).mp4
- 8 可变参数 (12:49).mp4
- 9 将序列中的元素值作为函数对应的参数值传递 (10:18).mp4
- 10 函数作用域 (12:49).mp4
- 11 为函数传递可变参数值(单星和双星参数) (03:22).mp4
- 12 函数递归 (10:45).mp4
- 13 练习题讲解 (16:48).mp4
- 14 变量作用域 (07:57).mp4
- 15 局部函数 (04:08).mp4
- 16 函数变量 (06:47).mp4
- 17 使用lambda表达式代替局部函数 (03:13).mp4






