温馨提示×

参数传递

在Python中,函数的参数传递可以分为两种方式:传值和传引用。

  1. 传值: 当你传递一个不可变对象(例如数字、字符串、元组)作为函数的参数时,实际上是把该对象的值复制一份传入函数中。在函数内对该参数的任何操作都不会影响到原始对象。
def change_number(num):
    num = num + 1

x = 10
change_number(x)
print(x)  # 输出结果为10
  1. 传引用: 当你传递一个可变对象(例如列表、字典、集合)作为函数的参数时,实际上是传递了该对象在内存中的引用。在函数内对该参数的任何修改都会影响到原始对象。
def change_list(lst):
    lst.append(4)

my_list = [1, 2, 3]
change_list(my_list)
print(my_list)  # 输出结果为[1, 2, 3, 4]

需要注意的是,虽然在函数内修改可变对象的值会影响到原始对象,但是如果在函数内对可变对象重新赋值,则不会影响到原始对象。

def change_list(lst):
    lst = [4, 5, 6]

my_list = [1, 2, 3]
change_list(my_list)
print(my_list)  # 输出结果为[1, 2, 3]

因此,当你需要在函数内修改可变对象的值时,需要注意这一点。另外,你也可以使用copy模块中的copy()函数来创建可变对象的副本,避免对原始对象的影响。

希望这个简单的参数传递教程能帮助你更好地理解Python中的函数。