在Python中,可以通过以下两种方法来防止函数参数传递时修改原参数的值:

  1. 使用可变类型参数的副本

    当原参数是可变类型(如列表)时,可以使用list()函数创建一个副本,并将副本传递给函数。在函数内部对副本进行修改,不会影响原参数。

  2. 使用不可变类型的参数

    不可变类型(如数字、字符串、元组)在传递时会被复制,因此函数中对参数的修改不会影响原参数。

示例:

# 使用列表的副本
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

在第一个例子中,我们使用了列表的副本,因此函数中对副本的修改不会影响原列表。在第二个例子中,我们使用了不可变类型的参数,因此函数中对参数的修改不会影响原参数。

Python 函数参数传递:如何防止修改原参数

原文地址: http://www.cveoy.top/t/topic/oliP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录