I think your understanding of what an instance is wrong here, since everything is an object in python, so 5
is an object of class int
and [2,3]
is an object of class list
and so on.
isinstance(x, y)
is the way to go if you just want to check if x
is an object of y
, but if you want to check if x
is an object of builtin class or your own custom defined class then you should be checking the existence of __dict__
using hasattr(x, '__dict__')
.
solved Determine if a variable is an instance of any class