MST

星途 面试题库

面试题:Python函数调用执行流程基础问题

请描述Python中函数调用时,参数传递、局部变量创建以及函数返回值的执行流程。以一个简单的带有参数和返回值的函数为例说明。
49.8万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试

以下以一个简单的Python函数add_numbers为例,来说明函数调用时参数传递、局部变量创建以及函数返回值的执行流程。

def add_numbers(a, b):
    result = a + b
    return result
  1. 参数传递: 当调用函数add_numbers时,例如add_numbers(3, 5),数字35会被分别传递给函数定义中的参数ab。在Python中,参数传递是“赋值传递”(也常被称为“对象引用传递”),传递的是对象的引用(本质上类似于C++中的指针传递,只是Python对程序员隐藏了指针操作)。这里35这两个整数对象的引用被分别赋给了参数ab

  2. 局部变量创建: 在函数体内部,执行result = a + b语句时,会创建一个局部变量result。这个变量只在函数add_numbers的作用域内有效。它存储了ab相加的结果,即8

  3. 函数返回值: 当执行到return result语句时,函数的执行结束,返回result的值(即8)。调用函数的地方会接收到这个返回值,例如:

sum_value = add_numbers(3, 5)
print(sum_value)  # 输出 8

在上述代码中,add_numbers(3, 5)的返回值8被赋给了变量sum_value,之后可以对sum_value进行进一步操作,比如打印它的值。