在Python中,变量传递有两种方式:传值和传引用。
1. 传值(传递对象的值):
传值是指将变量的值复制一份,然后将复制的值传递给函数或赋值给另一个变量。在函数内部修改传递的变量值不会影响原始变量的值。
示例代码:
```
def modify_value(x):
x = x + 1
a = 10
modify_value(a)
print(a) # 输出结果为10,原始变量a的值未被修改
```
2. 传引用(传递对象的引用):
传引用是指将变量的引用(内存地址)传递给函数或赋值给另一个变量。在函数内部修改传递的变量值会影响原始变量的值。
示例代码:
```
def modify_list(lst):
lst.append(4)
my_list = [1, 2, 3]
modify_list(my_list)
print(my_list) # 输出结果为[1, 2, 3, 4],原始列表my_list被修改
```
需要注意的是,对于不可变类型的变量(如整数、字符串、元组等),传引用的效果和传值一样,即在函数内部对变量的修改不会影响原始变量的值。而对于可变类型的变量(如列表、字典等),传引用会影响原始变量的值。