python函数传参是值传递还是引用传递,python值传递和引用传递的区别

  python函数传参是值传递还是引用传递,python值传递和引用传递的区别

  值传递和引用传递

  Python的值传递不改变传入参数的值,而引用传递传入一个地址,有点像C的指针,执行完成后会改变传入地址所指向的值。

  值类型如下:

  上面的代码只是将A的值作为参数传递,程序执行后A的值不会改变。

  a=1

  defchange_integer(a):

  a=a 1

  退货

  printchange _整数(a)

  普林塔

  结果:

  2

  一个

  [0.1秒内完成]

  传递的引用类型如下:

  b=[1,2,3]

  defchange_list(b):

  b[0]=b[0] 1

  returnb

  打印更改列表(b)

  printb

  结果:

  [2, 2, 3]

  [2, 2, 3]

  [0.1秒内完成]

  这里传入B的地址后,程序执行后B的值也会发生变化。

  如何求解变量:从引用传递到值传递?

  该方案如下:

  导入副本

  b=[1,2,3]

  defchange_list(b):

  b[0]=b[0] 1

  returnb

  print change _ list(copy . deepcopy(b))

  printb

  结果:

  [2, 2, 3]

  [1, 2, 3]

  [0.1秒内完成]

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: