Python 函数参数传递:如何防止修改原参数
在Python中,可以通过以下两种方法来防止函数参数传递时修改原参数的值:
-
使用可变类型参数的副本:
当原参数是可变类型(如列表)时,可以使用
list()函数创建一个副本,并将副本传递给函数。在函数内部对副本进行修改,不会影响原参数。 -
使用不可变类型的参数:
不可变类型(如数字、字符串、元组)在传递时会被复制,因此函数中对参数的修改不会影响原参数。
示例:
# 使用列表的副本
def add_one(lst):
lst_copy = list(lst)
lst_copy.append(1)
return lst_copy
my_list = [1, 2, 3]
new_list = add_one(my_list)
print(my_list) # [1, 2, 3]
print(new_list) # [1, 2, 3, 1]
# 使用不可变类型的参数
def add_one(x):
return x + 1
my_num = 10
new_num = add_one(my_num)
print(my_num) # 10
print(new_num) # 11
在第一个例子中,我们使用了列表的副本,因此函数中对副本的修改不会影响原列表。在第二个例子中,我们使用了不可变类型的参数,因此函数中对参数的修改不会影响原参数。
原文地址: http://www.cveoy.top/t/topic/oliP 著作权归作者所有。请勿转载和采集!