First of all, here\'s my test code, I\'m using python 3.2.x:
class account:
def __init__(self):
pass
class bank:
def __init__(self):
a.bank
is the class (not instance) since you've never created an instance of the bank on a
. So if a.bank
is a class, a.bank.balance
is a method bound to that class.
This works however:
class account:
def __init__(self):
self.bank = account.bank()
class bank:
def __init__(self):
self.balance = 100000
def whitdraw(self, amount):
self.balance -= amount
def deposit(self, amount):
self.balance += amount
a = account()
print a.bank.balance
Of course, as you show working code without nested classes, It really begs the question about why you want to use nested classes for this. I would argue that the non-nested version is much cleaner.