Назад к вопросам
Junior
137
questionbank

Какими способами в Python можно проверить тип данных переменной?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

  • type(): Возвращает тип объекта.
  • isinstance(): Проверяет, является ли объект экземпляром класса или подкласса.
# Пример с type()
var_int = 10
print(type(var_int)) # Выведет: <class 'int'>

var_str = "hello"
print(type(var_str)) # Выведет: <class 'str'>
# Пример с isinstance()
var_list = [1, 2, 3]
print(isinstance(var_list, list)) # Выведет: True
print(isinstance(var_list, (list, tuple))) # Проверка на несколько типов

Отличие isinstance() от type() заключается в том, что isinstance() учитывает наследование. Если объект является экземпляром подкласса, isinstance() вернет True при проверке на базовый класс. type() вернет только точный тип.

# Пример отличия isinstance() и type() с наследованием
class Base:
    pass

class Child(Base):
    pass

child_obj = Child()

print(type(child_obj) is Child) # Выведет: True
print(type(child_obj) is Base)  # Выведет: False

print(isinstance(child_obj, Child)) # Выведет: True
print(isinstance(child_obj, Base))  # Выведет: True