How do you explain isinstance(Hello,object)
returns True whilst issubclass(Hello,object)
returns False?
JavaScript
x
3
1
>>> class Hello:
2
pass
3
and
JavaScript
1
8
1
>>> isinstance(Hello,object)
2
True
3
>>> issubclass(Hello,object)
4
False
5
>>> a = Hello()
6
>>> isinstance(a,object)
7
True
8
Advertisement
Answer
It’s because you are using old-style classes so it doesn’t derive from object
. Try this instead:
JavaScript
1
6
1
class Hello(object):
2
pass
3
4
>>> issubclass(Hello,object)
5
True
6
Old-style classes are deprecated and you shouldn’t use them any more.
In Python 3.x all classes are new-style and writing (object)
is no longer required.