Python函数传值
时间: 2023-10-23 20:00:56 浏览: 95
Python中函数的传值方式有两种:传递不可变对象和传递可变对象。
1. 传递不可变对象:当把不可变对象(如数字、字符串、元组)作为参数传递给函数时,函数会创建一个新的局部变量,该变量的值与传入的参数相同。在函数内部对该参数进行修改不会影响到原始的参数。
示例代码:
```python
def change_value(num):
num += 10
print("函数内部修改后的值:", num)
num = 5
change_value(num)
print("函数外部原始值:", num)
```
输出结果:
```
函数内部修改后的值: 15
函数外部原始值: 5
```
2. 传递可变对象:当把可变对象(如列表、字典)作为参数传递给函数时,函数使用的是原始参数的引用,而不是创建一个新的局部变量。因此,在函数内部对该参数进行修改会影响到原始的参数。
示例代码:
```python
def change_list(lst):
lst.append(4)
print("函数内部修改后的列表:", lst)
my_list = [1, 2, 3]
change_list(my_list)
print("函数外部原始列表:", my_list)
```
输出结果:
```
函数内部修改后的列表: [1, 2, 3, 4]
函数外部原始列表: [1, 2, 3, 4]
```
总结起来,Python函数的参数传递方式是按值传递,对于不可变对象是传递对象的副本,对于可变对象是传递对象的引用。这样的设计方式在使用时需要注意,避免出现意外的修改。
阅读全文