type(), isinstance()
Функція type() повертає тип переданого аргументу, з її допомогою можна перевірити, чи належить аргумент того чи іншого типу:
a = 10
b = [1,2,3]
type(a) == int # True
type(b) == list # True
type(a) == float # FalseФункція isinstance() спеціально створена для перевірки належності даних певного класу (типу даних):
isinstance(a,int) # True
isinstance(b,list) # True
isinstance(b,tuple) # False
c = (4,5,6)
isinstance(c,tuple) # TrueКрім того, isinstance() порівняно з type() дозволяє перевірити дане на приналежність хоча б одному типу з кортежу, переданого як другий аргумент:
isinstance(a,(float, int, str)) # True
isinstance(a,(list, tuple, dict)) # FalseІнша відмінність isinstance(). Ця функція підтримує спадкування. Для isinstance() екземпляр похідного класу також є екземпляром базового класу. Для type() це не так:
class A (list):
... pass
...
a = A()
type(a) == list # False
type(a) == A # True
isinstance(a,A) # True
isinstance(a,list) # TrueLast updated