6.2.2 调用函数
函数在定义完成后不会立刻执行,直到被程序调用时才会执行。调用函数的方式非常简单,其语法格式如下:函数名 (参数列表)
例如,调用 6.2.1 小节中定义的 add_modify () 函数,代码如下:
add_modify(10, 20)
运行代码,结果如下所示:
30
实际上,程序在执行 “add_modify (10,20)” 时经历了以下 4 个步骤。
(1)程序在调用函数的位置暂停执行,跳转到函数定义的位置。
(2)将数据传递给函数参数。在这个例子中,10 和 20 被分别传递给函数的参数 a 和 b。
(3)程序执行函数体中的语句。在这个例子中,函数体包含两条语句,用于计算并输出 a 与 b 的和。
(4)程序回到暂停处继续执行。
下面使用一张图来描述程序执行 “add_modify (10, 20)” 的整个过程,具体如下图所示。
函数内部也可以调用其他函数,这称为函数的嵌套调用。例如,在 add_modify () 函数内部增加调用 add () 函数的代码,修改后的代码如下:
def add_modify(a, b):
result = a + b
add() # 在add_modify()函数的内部调用add()函数
print(result)
运行代码,结果如下所示:
33
30
下面画图分析一下程序执行 “add_modify (10, 20)” 的整个过程,具体如下图所示。
图中的执行过程具体如下:
(1) 程序在调用 add_modify () 函数的位置暂停执行,跳转到该函数定义的位置。
(2) 程序将数据 10 和 20 分别传递给函数的参数 a 和 b。
(3) 程序执行 add_modify () 函数的函数体。
(4) 程序执行到调用 add () 函数的位置暂停执行,跳转到该函数定义的位置。
(5) 程序执行 add () 函数的函数体。
(6) 程序回到调用 add () 函数的位置继续执行。
(7) 程序继续执行 add_modify () 函数的函数体。
(8) 程序回到调用 add_modify () 函数的位置继续执行。