值传递:当函数调用时,实参把它的值传递给形参。在这种情况下,改变形参的值并不会影响到实参。值传递可以看作是原始数据的一个副本,函数内对参数的修改不会影响到原始数据。
引用传递:引用传递是将实参的地址传递给形参。在这种情况下,对形参的任何操作都会影响到实参的值。引用传递可以看作是原始数据的一个别名或引用,函数内对参数的修改会直接影响到原始数据。(引用传递实际传递给形参是对象的地址,所以对形参操作会引起实参的变化)。
python中传参分2种情况:
情况1:如果参数是不可变参数,则为值传递(即函数内对形参的操作完全不影响实参的值)。
情况2:如果参数是可变参数,则为引用传递(即函数内对形参的操作影响实参的值)。
定义一个函数,分别实现值传递与引用传递。(同一个函数传递不同类型的参数实现不同的传参方式)如下所示: