python如何传值
原创Python中变量的传值
Python中的变量赋值实际上是创建了一个指向对象的新引用,而不是复制对象本身,这种特性使得Python中的变量传值变得相对复杂。
不可变类型的传值
不可变类型包括整数、浮点数、字符串等,当我们将一个不可变类型的变量传递给一个函数时,实际上传递的是该变量的值,而不是它的引用,函数内部的修改不会影响到外部的变量。
def change_value(x): x = 2 * x print("x in function:", x) num = 10 change_value(num) print("num outside function:", num)
输出:
x in function: 20 num outside function: 10
在这个例子中,尽管我们在函数内部将x的值乘以2,但函数外部的num值并没有改变,这是因为函数内部的x只是形参,它指向的对象并不会影响到实参num。
可变类型的传值
可变类型包括列表、字典、元组等,当我们将一个可变类型的变量传递给一个函数时,实际上传递的是该变量的引用,而不是它的值,函数内部的修改会影响到外部的变量。
def change_value(x): x[0] = 2 * x[0] print("x in function:", x) num = [10, 20] change_value(num) print("num outside function:", num)
输出:
x in function: [20, 20] num outside function: [20, 20]
在这个例子中,我们在函数内部将列表x的第一个元素乘以2,这个修改在函数外部也生效了,这是因为函数内部的x和实参num指向的是同一个对象。
上一篇:python如何安装panda 下一篇:python如何画猫