okpython.net
Все для начинающих

Как узнать или проверить тип переменной в Python?

Чтобы определить тип объекта в Python, следует использовать встроенную функцию type(obj), передав ей требуемый объект obj в качестве аргумента (см. пример №1).

Код Результат pythonCodes
# Создаем объекты.
my_str = 'okpython.net'
my_list = [1, 2, 3]
my_dict = {'n_1': 10, 'n_2': 20}
my_func = lambda x, y: x*y
class MyClass: pass

print(f'Тип my_str: {type(my_str)}')
print(f'Тип my_list: {type(my_list)}')
print(f'Тип my_dict: {type(my_dict)}')
print(f'Тип my_func: {type(my_func)}')
print(f'Тип MyClass: {type(MyClass)}')  
Тип my_str: <class 'str'>
Тип my_list: <class 'list'>
Тип my_dict: <class 'dict'>
Тип my_func: <class 'function'>
Тип MyClass: <class 'type'>





		
			

Пример №1. Определение типа объектов в Пайтоне.

Если же требуется проверить тип объекта, удобно использовать встроенную функцию isinstance(obj, classinfo), передав ей в качестве аргументов проверяемый объект obj и информацию о типе в виде: класс, тип или кортеж классов и типов. Функция вернет True, если объект является экземпляром или подклассом класса или любого элемента кортежа, и False в противном случае (см. пример №2).

Код Результат pythonCodes
# Создаем объекты.
li = [1, 2, 3]
class MyClass: pass
obj = MyClass()

# Проверяем на принадлежность к типу.
print(f"li - это словарь: {isinstance(li, dict)}")    
print(f"li - это объект: {isinstance(li, object)}")
print(f"li - это список: {isinstance(li, list)}")
# Проверяем на принадлежность к одному из типов.
ans = isinstance(li, (dict, list))
print(f"li - это или список, или словарь: {ans}", end='\n\n')

# Проверяем на принадлежность к типу.
print(f"MyClass - это объект: {isinstance(MyClass, object)}")
print(f"MyClass - это тип: {isinstance(MyClass, type)}")
print(f"MyClass - это экземпляр MyClass: {isinstance(MyClass, MyClass)}")    
# Проверяем на принадлежность к одному из типов.
ans = isinstance(MyClass, (dict, list))
print(f"MyClass - это или список, или словарь: {ans}", end='\n\n')  

# Проверяем на принадлежность к типу.
print(f"obj - это тип: {isinstance(obj, type)}")
print(f"obj - это объект: {isinstance(obj, object)}")
print(f"obj - это экземпляр MyClass: {isinstance(obj, MyClass)}")    
# Проверяем на принадлежность к одному из типов.
ans = isinstance(obj, (list, object))
print(f"obj - это или список, или объект: {ans}")   
li - это словарь: False
li - это объект: True
li - это список: True
li - это или список, или словарь: True

MyClass - это объект: True
MyClass - это тип: True
MyClass - это экземпляр MyClass: False
MyClass - это или список, или словарь: False

obj - это тип: False
obj - это объект: True
obj - это экземпляр MyClass: True
obj - это или список, или объект: True












		
			

Пример №2. Определение принадлежности объекта к типу.