python参数如何传递

原创
admin 8小时前 阅读数 1 #Python

Python中的参数传递

Python中的参数传递遵循按值传递的原则,这意味着当你将一个变量传递给一个函数时,它实际上传递的是变量的值,而不是变量的引用,如果你传递的是一个可变对象(如列表、字典等),那么函数内部对该对象的任何修改都会影响到原始对象,因为可变对象的值是指向内存中的同一个对象的。

让我们来看几个例子来说明这一点。

例子1:不可变对象的按值传递

def change_value(x):
    x = 2 * x
    print("x in function:", x)
num = 5
change_value(num)
print("num outside function:", num)

输出:

x in function: 10
num outside function: 5

在这个例子中,我们将一个不可变对象num传递给change_value函数,函数内部将x乘以2,并打印出x的新值,在函数外部,num的值并没有改变,这说明了不可变对象的按值传递特性。

例子2:可变对象的按值传递

def change_list(lst):
    lst.append(3)
    print("lst in function:", lst)
my_list = [1, 2]
change_list(my_list)
print("my_list outside function:", my_list)

输出:

lst in function: [1, 2, 3]
my_list outside function: [1, 2, 3]

在这个例子中,我们将一个可变对象my_list传递给change_list函数,函数内部向列表中添加了一个元素,并打印出列表的新值,在函数外部,my_list的值也发生了变化,这说明了可变对象的按值传递特性。

热门