failing to instantiate an inner class because of order of inner classes

Edward Kozlowski ekozlowski1 at gmail.com
Wed Dec 27 18:14:08 EST 2006


Pyenos wrote:
> class model:pass
> class view:
>         model()
> class controller:
>         model()
>
> I can instantiate clsss model from inside class view but I can't
> instantiate class model from inside controller, due to the nature of
> python interpreter.
>
> I wish to circumvent this restriction by:
>
> class model:pass
> class view:
>         parent_class.model()
> class controller:
>         parent_class.model()
>
> but, I don't know the built-in variable that points to the parent
> class. Could someone tell me how can I instantiate class model from
> inside controller AND instantiate class model from inside view?

I would try the following:

class model:
    def printFoo(self):
        print "foo"
class view:
    def __init__(self):
        self.model = model()
class controller:
    def __init__(self):
        self.model = model()

Then you can do:
vObj = view()
vObj.model.printFoo()

And:
cObj = controller()
cObj.model.printFoo()




More information about the Python-list mailing list