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

How to reinitialize a variable in Python?

我有一个 class,它使用一个变量来创建一个字符串,如下所示:

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

在class中的一个特定方法中,cuname变量被改变了。但是,当出现提示时,av 变量仍将使用以前的值。有没有办法 "re-initialize" 变量,以便它获得新的 cuname 值?

编辑:顺便说一句,我尝试重述变量,但它保持不变。 (我认为这是因为 class 不断使用循环)

是的,您只需重新执行相同的语句:

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

再次。

如果你使用函数而不是变量,你总是得到最新的值:

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

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

因为你有一个 class 并且 av 是其中的一个变量,使它成为 class

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 变成了 属性,它仍然可以像变量一样使用。