Martin Skou wrote: > I'm experimenting with using Python for a small web interface, using > Mark Hammond's nice win32 extensions. > > I use a small class hierarchy which uses inheritance and nested classes. > > Here are a small extract of the code: > > class page: > > def __init__(self): > self.head=[] > > def __str__(self): > ... > > class simple_tag: > ... > > class p(simple_tag): > ... > > class table: > ... > > class row: > ... > > class data: > ... > ... > > > Will this type of code perform noticable slower than unnested classes?
I'm not aware that there is much runtime penalty here - a quick test reveals that: import time class Foo: def __init__(self, baz): self.baz = baz def unnested(): o = Foo(10) def nested(): class Foo: def __init__(self, baz): self.baz = baz then = time.time() for i in xrange(100000): unnested() print time.time() - then then = time.time() for i in xrange(100000): nested() print time.time() - then Yields 0.839588165283 0.817638158798 for me. But I hope you are aware that nested classes aren't quite the same as they are in java, are you? Regards, Diez -- http://mail.python.org/mailman/listinfo/python-list