Inheritance in nested classes
Diez B. Roggisch
deets at nospam.web.de
Tue Nov 15 11:40:58 EST 2005
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
More information about the Python-list
mailing list