Python 类变量更新

Python 类变量更新,python,Python,我构建了一个类来处理许多采用公共输入的不同函数。然而,我遇到了这样的情况,通过self反馈的一个变量需要更改。我该怎么做?这是一个例子: class Test: def __init__(self, test_variable): self.test_var = test_variable @property def some_function(self): if self.test_var < 0: se

我构建了一个类来处理许多采用公共输入的不同函数。然而,我遇到了这样的情况,通过
self
反馈的一个变量需要更改。我该怎么做?这是一个例子:

class Test: 
    def __init__(self, test_variable):
        self.test_var = test_variable

    @property
    def some_function(self): 
        if self.test_var < 0:
           self.test_var = 'New Output'   #this is the line that I can't get 
                                          #get to work and I was hoping to update it here
                                          #so I could use it in later functions
        return self.test_var
类测试:
def u u初始(自,测试变量):
self.test\u var=测试变量
@财产
定义某些_函数(自):
如果自检变量<0:
self.test_var='New Output'#这是我找不到的行
#开始工作,我希望在这里更新它
#所以我可以在以后的函数中使用它
返回自测试变量

谢谢大家!

您应该删除
@property
属性。然后,您可以通过执行
x.test\u var=5
来设置它。例如:

class Test: 
    def __init__(self, test_variable):
        self.test_var = test_variable

    def some_function(self): 
        if self.test_var < 0:
           self.test_var = 'New Output'   #this is the line that I can't get 
                                          #get to work and I was hoping to update it here
                                          #so I could use it in later functions
        return self.test_var

x = Test(-1)

print(x.some_function())
x.test_var = 5
print(x.some_function())

你到底遇到了什么问题?据我所知,你发布的代码完全符合你的预期。请注意,如果你想要
self.test\u var
,你可以调用
self.some\u function
。除了不能多次调用
某个函数之外,
test\u variable
最初是负数,有什么问题吗?
test\u var
应该包含字符串还是数字?为其分配字符串后,将其与数字进行比较将导致错误。我希望将该字符串重新分配为字符串。也许我把它做得太简单了,不能成为一个有效的例子。我收到的错误是“无法分配属性”错误。您已从方法中删除了
@属性
装饰程序。我认为这可能是他/她有问题的地方。
New Output
5