The direct way to see the type of a variable is to use the type
command:
label = 'local error' type(label) # returns str x = [1, 2] # list type(x) # returns list
However, if you want to test for a variable to be of a certain type, you should use isinstance
(instead of comparing the types with type
):
isinstance(x, list) # True
The reason for using isinstance
becomes apparent after having read Chapter 8, Classes, and in particular the concept of subclassing and inheritance in section Subclassing and Inheritance in Chapter 8, Classes. In short, often different types share some common properties with some basic type. The classical example is the type bool
, which is derived by subclassing from the more general type int
. In this situation, we see how the command isinstance
can be used in a more general way:
test = True isinstance(test, bool) # True isinstance(test, int) # True type(test) == int # False type(test) == bool # True
So, in order to make sure...