当前位置:首页 > 行业动态 > 正文

python 函数变量传递

Python函数变量传递是通过引用传递,即在 函数内部对参数进行修改,会影响到外部变量的值。

在Python中,函数是一段具有特定功能的可重用代码,函数可以接受参数,这些参数可以在函数内部被访问和修改,函数参数的传递方式有两种:按值传递(call by value)和按引用传递(call by reference)。

按值传递

1、概念:按值传递是指在调用函数时,将实参的值复制一份给形参,形参和实参指向不同的内存地址,在函数内部对形参的修改不会影响到实参。

2、示例代码:

def add(a, b):
    a = a + b
    return a
num1 = 10
num2 = 20
result = add(num1, num2)
print("num1:", num1)  # 输出:num1: 10
print("num2:", num2)  # 输出:num2: 20
print("result:", result)  # 输出:result: 30

按引用传递

1、概念:按引用传递是指在调用函数时,将实参的引用传递给形参,形参和实参指向同一个内存地址,在函数内部对形参的修改会影响到实参。

2、示例代码:

def change(lst):
    lst[0] = 99
my_list = [10, 20, 30]
change(my_list)
print(my_list)  # 输出:[99, 20, 30]

列表参数传递

1、概念:当列表作为参数传递给函数时,实际上是将列表的引用传递给函数,在函数内部对列表的修改会影响到原始列表,如果列表中的元素是基本数据类型(如整数、浮点数等),则按值传递。

2、示例代码:

def change_list(lst):
    lst[0] = 99
    lst.append(40)
my_list = [10, 20, 30]
change_list(my_list)
print(my_list)  # 输出:[99, 20, 30, 40]

归纳

1、Python中函数参数的传递方式有两种:按值传递和按引用传递。

2、按值传递时,实参的值复制一份给形参,形参和实参指向不同的内存地址;按引用传递时,实参的引用传递给形参,形参和实参指向同一个内存地址。

3、当列表作为参数传递给函数时,实际上是将列表的引用传递给函数,在函数内部对列表的修改会影响到原始列表,如果列表中的元素是基本数据类型,则按值传递。

0