Python 函数参数传递与作用域:一道经典面试题解析

**题目:**pythondef chanageInt(number2): number2 = number2 + 1 print('changeInt: number2= ', number2)

number1 = 2chanageInt(number1)print('number:', number1)

打印结果哪项是正确的?

A)changeInt: number2= 3 number: 2B)changeInt: number2= 3 number: 3C)number: 2 changeInt: number2= 2 D)number: 2 changeInt: number2= 3

答案及解析:

正确答案:D)number: 2 changeInt: number2= 3

解析:

这道题考察了 Python 中函数参数传递和变量作用域的概念。

  1. 值传递: Python 中函数参数传递采用的是值传递。这意味着当我们将 number1 作为参数传递给 changeInt 函数时,函数内部会创建一个新的变量 number2,并将 number1 的值(2)复制给它。

  2. 局部变量: 在函数 changeInt 内部,number2 是一个局部变量。对局部变量的修改只在函数内部有效,不会影响到函数外部的同名变量。

因此,当我们在函数内部对 number2 进行加 1 操作时,实际上修改的是 number2 这个局部变量的值,而函数外部的 number1 仍然保持原来的值 2。

总结:

  • 在函数传参过程中,Python 采用值传递的方式。* 函数内部定义的变量是局部变量,其作用域仅限于函数内部,不会影响外部同名变量。

希望通过这道题的解析,能够帮助你更好地理解 Python 中函数参数传递和变量作用域的概念。

Python 函数参数传递与作用域:一道经典面试题解析

原文地址: http://www.cveoy.top/t/topic/f2DN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录