Python new-style classes and __subclasses__ function
Posted
by Fraser Graham
on Stack Overflow
See other posts from Stack Overflow
or by Fraser Graham
Published on 2010-05-20T19:28:30Z
Indexed on
2010/05/20
19:30 UTC
Read the original article
Hit count: 186
python
Can somebody explain to me why this works (in Python 2.5) :
class Foo(object):
pass
class Bar(Foo):
pass
print(Foo.__subclasses__())
but this doesn't :
class Foo():
pass
class Bar(Foo):
pass
print(Foo.__subclasses__())
The latter returns "AttributeError: class Foo has no attribute '__subclasses__
'" but i'm not sure why. I know this is related to old-style vs. new-style classes but i'm not clear on why that would make this functionality unavailable.
© Stack Overflow or respective owner