TGViewer
Zen of Python Zen of Python @zen_of_python · 18.8K subscribers
Post #4386 3.05K
isinstance(): Проверка типов

В динамически типизированных языках нам особенно важно знать тип объекта, которым мы оперируем. С этим помогают две встроенные функции — type() и isinstance(), и мы поговорим сегодня о второй из них.


isinstance(object, classinfo)


— object: объект, тип которого вы хотите проверить
— classinfo: класс, тип или кортеж типов


# Является ли 42 целочисленным значением?
isinstance(42, int) # True

# Относится ли "hello" к одному из типов str / list (логическое «ИЛИ»)?
isinstance("hello", (str, list)) # True



isinstance() vs type()

Поначалу может показаться, что type() делает то же самое:


type(42) == int # True


Но isinstance(), в свою очередь, учитывает наследование:


class Animal:
pass

class Dog(Animal):
pass

dog = Dog()

type(dog) == Animal # False
isinstance(dog, Animal) # True


Это делает isinstance() предпочтительным выбором при работе с иерархиями классов.

#основы
  • 👍 13
More from @zen_of_python
  1. Sep 26, 2026Как собирать динамические фильтры Django через Q-объекты Q() представляет условие для SQL-…
  2. Sep 26, 2026Почему str.splitlines() видит больше переносов, чем чтение файла У Python два разных понят…
  3. Sep 26, 2026Как вручную разрешить ленивый импорт в Python У объекта, созданного через lazy import json…
  4. Sep 25, 2026Почему Python предупреждает о последовательности \477 и как это исправить В строках Python…
  5. Sep 25, 2026Как запускать Python-код в песочнице на MicroPython и WebAssembly В проектах Саймона Уилли…
  6. Sep 25, 2026Как emojet ускоряет работу с эмодзи в Python Библиотека emojet преобразует названия в эмод…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →