第 5 课 函数、作用域与递归
课程纲要
-
函数(必须掌握):接收输入、提供输出的东西
-
关键字
def
与参数:定义一个echo()
(回声),参数、默认参数和关键字参数 -
返回值和
return
语句: -
def function_name: do_something() return something
-
None 值:
NoneType
数据类型,如果你不返回任何值。(type) -
诀窍:一个函数最好不要超过40行。
-
-
作用域(掌握思想):
- 起因:公用私用问题,保护数据。尽量不要使用全局变量。
- 规则(不应该背下来):
- 局部变量不能在全局作用域内使用
- 局部作用域不能使用其他局部作用域内的变量
- 全局变量可以在局部作用域中读取
global
关键字
-
递归(掌握如何写递归函数):函数自己调用自己
课后作业
- 定义一个
gcd(m, n)
函数,该函数可以求出m与n的最大公约数,用辗转相除法递归实现。 - 用递归实现阶乘函数
factorial(n)
,对于任意的整数n都能返回其对应的阶乘。 - 跳水板