Luuk <l...@invalid.lan> writes: > On 12-5-2019 16:07, Piet van Oostrum wrote: >> Luuk <l...@invalid.lan> writes: >> >>> After thinking about this, (i am prettry new to python), i was doing this: >>> >>>>>> print(type(5),type(int),type(5)==type(int),type(5)==int) >>> <class 'int'> <class 'type'> False True >>> >>> Can someone explain why type(5)==int evaluates to True ? >>> >>>>> print(int) >> <class 'int'> >> >> The value of int is the class int, which is the class of 5, so type(5) is >> also that same class int. > > > Maybe i should have asked this: > > What is the difference between 'type(5)==int' and 'isinstance(5,int)' > > and, if there is no difference why did someone invent 'isinstance()' ... >
You'll get different behaviour when subclassing is involved. https://docs.python.org/3/library/functions.html#isinstance isinstance(object, classinfo) Return true if the object argument is an instance of the classinfo argument, or of a (direct, indirect or virtual) subclass thereof. -- regards, kushal -- https://mail.python.org/mailman/listinfo/python-list