将实例变量传递给函数

时间:2019-01-30 10:03:24

标签: python reference

是否可以将对变量的引用传递给实例函数以对其进行配置?

例如,我想在以下类中使用bar方法将cofigure的值设置为1.0:

class Foo:
    def __init__(self):
        self.bar = 0.0
        self.configure(self.bar)
    def configure(self, var):
        var = 1.0

foo = Foo()
print(foo.bar)

我希望foo.bar是1.0,但应该是0.0。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您必须分配实际属性,分配参数将不起作用(Python使用参数的按值传递语义)。方法如下:

class Foo:
    def __init__(self):
        self.bar = 0.0
        self.configure(1.0)
    def configure(self, var):
        self.bar = var