浏览 59
扫码
在Python中,函数的参数传递可以分为两种方式:传值和传引用。
- 传值: 当你传递一个不可变对象(例如数字、字符串、元组)作为函数的参数时,实际上是把该对象的值复制一份传入函数中。在函数内对该参数的任何操作都不会影响到原始对象。
def change_number(num):
num = num + 1
x = 10
change_number(x)
print(x) # 输出结果为10
- 传引用: 当你传递一个可变对象(例如列表、字典、集合)作为函数的参数时,实际上是传递了该对象在内存中的引用。在函数内对该参数的任何修改都会影响到原始对象。
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中的函数。