我正在使用Tkinter / Python创建预算程序。这是我的代码的基础:
class Expense:
def __init__(self):
def Save(self)
TotalAmount = blah
所以我需要在班级之外访问TotalAmount
,但我不确定如何解决这个问题。
答案 0 :(得分:3)
您可以在__init__()
方法中创建一个变量,在初始化类时立即调用该变量,然后您可以更改将在类外部反映的变量值。
您似乎正在尝试为类创建方法save()
,所以我也为您做了同样的事情。如果您不希望您的save()
方法接受任何参数,那么您也可以使用def save(self):
class Expense:
def __init__(self):
#Do some initializations here
self.TotalAmount = 0
def save(self, amount):
self.TotalAmount = amount
exp = Expense()
print exp.TotalAmount
>>> 0
exp.save(10)
print exp.TotalAmount
>>> 10
答案 1 :(得分:0)
您需要将变量添加为对象的属性(self.TotalAmount = blah
)或将其设为global变量:
class Expense:
def __init__(self):
def Save(self)
global TotalAmount
TotalAmount = blah
第一个解决方案是首选解决方案,因为拥有大量全局变量会使您的代码难以阅读。您应该努力encapsulation,因为它使将来更容易维护代码(更改代码的一部分不太可能破坏其他部分)。