如何在Python中重新初始化变量?

时间:2015-02-22 10:19:28

标签: python variables python-3.4

我有一个使用变量来创建字符串的类:

av = "Core/" + cuname + ">> "

在类中的特定方法中,cuname变量已更改。但是,在提示时,av变量仍将使用之前的值。有没有办法重新初始化"变量,以便它获得新的cuname值?

编辑:顺便说一下,我尝试重新设置变量,但它保持不变。 (我认为这是因为该类不断使用循环)

3 个答案:

答案 0 :(得分:2)

由于您有一个班级,而av是一个变量,请将其设为班级的property

class MyClass:

    def __init__(self, name):
        self.cuname = name

    @property
    def av(self):
        return "Core/" + self.cuname + ">> "


obj = MyClass("thefourtheye")
print(obj.av)
# Core/thefourtheye>> 
obj.cuname = "awesome"
print(obj.av)
# Core/awesome>> 

av是只读属性。因此,无论cuname次更改多少次,av将始终为字符串提供当前cuname值。因为,你将av作为属性,它仍然可以像变量一样使用。

答案 1 :(得分:1)

如果使用函数而不是变量,则始终获取最新值:

class myclass():
    def av(self):
        return "Core/" + cuname + ">> "

因此,您现在不使用av,而是使用self.av()。

答案 2 :(得分:0)

是的,您只需重新执行相同的声明:

av = "Core/" + cuname + ">> "

试。