为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过引用传递变量?

如何通过引用传递变量?

素胚勾勒不出你 2019-05-21 13:38:47
如何通过引用传递变量?Python文档似乎不清楚参数是通过引用还是值传递,以下代码生成未更改的值'Original'class PassByReference:     def __init__(self):         self.variable = 'Original'         self.change(self.variable)         print(self.variable)     def change(self, var):         var = 'Changed'有什么我可以通过实际参考传递变量吗?
查看完整描述

5 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞


想想通过赋值而不是通过引用/通过值传递的东西。这样,只要您了解正常分配期间发生的情况,就可以清楚地知道发生了什么。


因此,将列表传递给函数/方法时,会将列表分配给参数名称。附加到列表将导致列表被修改。重新分配函数内的列表不会更改原始列表,因为:


a = [1, 2, 3]

b = a

b.append(4)

b = ['a', 'b']

print a, b      # prints [1, 2, 3, 4] ['a', 'b']

由于无法修改不可变类型,它们看起来像是通过值传递 - 将int传递给函数意味着将int赋给函数参数。您只能重新分配,但不会更改原始变量值。


查看完整回答
反对 回复 2019-05-21
  • 5 回答
  • 0 关注
  • 711 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信