Python verschachtelte Klassen

Als erstes ist hier mein Testcode, ich benutze Python 3.2.x:

class account:
    def __init__(self):
        pass

    class bank:
        def __init__(self):
            self.balance = 100000

        def balance(self):
            self.balance

        def whitdraw(self, amount):
            self.balance -= amount

        def deposit(self, amount):
            self.balance += amount

wenn ich mache:

a = account()
a.bank.balance

Ich habe erwartet, dass der Wert des Guthabens zurückgegeben wird. Stattdessen erhalte ich die Funktion "Guthaben". Warum ist das so? Es gibt den Wert des Gleichgewichts zurück, wenn ich:

class bank:
    def __init__(self):
        self.balance = 100000

    def balance(self):
        self.balance

    def whitdraw(self, amount):
        self.balance -= amount

    def deposit(self, amount):
        self.balance += amount

a = bank()
a.balance

Ich möchte also wissen, warum dies so ist, und es wäre großartig, wenn jemand einen Weg finden könnte, um mir den Wert des Gleichgewichts in der verschachtelten Version anzugeben.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage