函数是把一段完成特定功能的代码封装起来、通过函数名反复调用的程序单元。Python 使用关键字 def 定义函数,三个要素是函数名、形式参数列表和函数体。基本形式(语法模板,示意用,其中方括号表示可省略)如下:
def 函数名([形式参数列表]):
# 函数体
[return 返回值]
方括号表示该部分可以省略。形式参数是定义时声明、用来接收传入数据的变量;函数体必须缩进。return 把结果交还给调用者,执行到 return 时函数立即终止。
例如,下面定义函数 add,它有两个参数 a 和 b,函数体计算二者之和并返回:
def add(a, b):
s = a + b
return s
调用 add(3, 4) 得到 7。调用时程序跳转到函数定义处执行函数体,完成后将结果返回到调用位置。
函数可以没有参数,称为无参函数;定义无参函数时,函数名后面的圆括号也不能省略。函数也可以没有返回值,这时可以不写 return 语句。例如:
def sayHello():
print('Hello, everybody!')
Python 函数可以返回多个值,只需将多个值依次写在 return 后并用逗号分隔。例如 getMinMax(alist) 接收一个列表,同时返回最小值和最大值。一个函数还可包含多个 return,用于在不同条件下返回不同结果;执行到 return 时函数立即结束,因此它们不会相互干扰。例如 sort(a, b) 在 a >= b 时返回 a, b,否则返回 b, a,即按从大到小的顺序返回两个参数。
常见坑:无参函数漏写圆括号会语法错误;误以为多个 return 会全部执行;函数体缩进不一致;混淆形参与实参。编写时应先明确“输入(形参)—处理(函数体)—输出(return)”。
def 定义函数;三要素为函数名、形式参数列表、函数体。def 函数名([形式参数列表]):,其下为函数体,可选 [return 返回值]。return。return 后并以逗号分隔。return;执行到 return 时函数立即终止,因此它们不会相互干扰。add(a, b) 返回两数之和;sayHello() 为无参、无返回值;getMinMax(alist) 同时返回最小、最大值;sort(a, b) 按从大到小返回两个参数。return 误以为会全部执行、缩进不一致、形参与实参混淆。