如何通过引用传递变量?

如何通过引用传递变量?

Python文档似乎不清楚参数是通过引用还是值传递,以下代码生成未更改的值'Original'

class PassByReference:
    def __init__(self):
        self.variable = 'Original'
        self.change(self.variable)
        print(self.variable)

    def change(self, var):
        var = 'Changed'

有什么我可以通过实际参考传递变量吗?


素胚勾勒不出你
浏览 717回答 5
5回答

江户川乱折腾

想想通过赋值而不是通过引用/通过值传递的东西。这样,只要您了解正常分配期间发生的情况,就可以清楚地知道发生了什么。因此,将列表传递给函数/方法时,会将列表分配给参数名称。附加到列表将导致列表被修改。重新分配函数内的列表不会更改原始列表,因为:a = [1, 2, 3]b = ab.append(4)b = ['a', 'b']print a, b      # prints [1, 2, 3, 4] ['a', 'b']由于无法修改不可变类型,它们看起来像是通过值传递 - 将int传递给函数意味着将int赋给函数参数。您只能重新分配,但不会更改原始变量值。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python