Accediendo a una variable dentro del método de una clase.

Estoy creando un progtwig de presupuesto utilizando Tkinter / Python. Esto es lo básico de mi código:

class Expense: def __init__(self): def Save(self) TotalAmount = blah 

Así que necesito acceder a TotalAmount fuera de la clase, pero no estoy seguro de cómo hacerlo.

Simplemente puede crear una variable dentro del __init__() que se llama tan pronto como se inicializa una clase, y luego puede cambiar el valor de la variable que también se reflejaría fuera de la clase.

Parece que estabas intentando crear un método save() para la clase, así que hice lo mismo para ti. Si no quieres que tu método save() tome ningún argumento, también puedes usar 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 

self.TotalAmount = blah agregar la variable como una propiedad en el objeto ( self.TotalAmount = blah ) o convertirla en una variable global :

 class Expense: def __init__(self): def Save(self) global TotalAmount TotalAmount = blah 

La primera solución es la preferida porque tener muchas variables globales hará que su código sea difícil de leer. Debe esforzarse por encapsularlo porque facilita el mantenimiento del código en el futuro (es menos probable que el cambio de una parte del código rompa otras partes).