python3.9版本如何实现引用传参
时间: 2023-06-26 19:09:12 浏览: 104
Python库 | fastavro-1.3.0-cp39-cp39-manylinux2014_x86_64.whl
在 Python 中,函数参数传递默认是引用传递,即传递的是对象的引用,而不是对象本身。这意味着在函数中对传递的对象进行的任何更改都会影响原始对象。
例如:
```python
def change_list(lst):
lst.append(4)
my_list = [1, 2, 3]
change_list(my_list)
print(my_list) # 输出 [1, 2, 3, 4]
```
在这个例子中,我们定义了一个函数 `change_list`,它接受一个列表参数 `lst`,并将值 4 添加到列表中。然后我们创建了一个名为 `my_list` 的列表,并将其传递给 `change_list` 函数。由于传递的是引用,因此在函数内部对列表进行的更改也会影响原始列表。
如果你想在函数中对传递的对象进行更改,但不影响原始对象,可以使用对象的副本或复制品。例如,在上面的示例中,你可以使用 `my_list.copy()` 或 `list(my_list)` 创建一个列表副本,然后将其传递给函数。这样,在函数中对列表进行的更改就不会影响原始列表了。
例如:
```python
def change_list(lst):
lst_copy = lst.copy()
lst_copy.append(4)
return lst_copy
my_list = [1, 2, 3]
new_list = change_list(my_list)
print(my_list) # 输出 [1, 2, 3]
print(new_list) # 输出 [1, 2, 3, 4]
```
在这个例子中,我们创建了一个名为 `lst_copy` 的列表副本,并将其传递给 `change_list` 函数。在函数内部对副本进行的更改不会影响原始列表。函数返回更改后的副本,然后我们将其存储在名为 `new_list` 的变量中,并打印出结果。
阅读全文