07 Июл 2023
2 мин
926

Определение типа объекта в Python

В процессе работы с Python часто возникает необходимость определения типа объекта. Особенно это актуально в случае когда переменная может быть различных

Содержание

В процессе работы с Python часто возникает необходимость определения типа объекта. Особенно это актуально в случае когда переменная может быть различных типов данных. Например, при написании функции, которая может принимать разные типы аргументов и выполнять разные действия в зависимости от их типа.

Рассмотрим простой пример. Пусть есть переменная x, которая может быть списком (list), словарем (dict) или другим типом данных:

x = [1, 2, 3]  # это список

Или:

x = {'one': 1, 'two': 2, 'three': 3}  # это словарь

А как узнать, что это за тип данных? Для этого в Python есть встроенная функция type().

Вот как она используется:

x = [1, 2, 3]
print(type(x))  # <class 'list'>

x = {'one': 1, 'two': 2, 'three': 3}
print(type(x))  # <class 'dict'>

Функция type() принимает один аргумент и возвращает тип этого аргумента. В результате выполнения этой функции получается строка, которая начинается со слова «class» и далее следует имя класса, которому принадлежит объект.

Однако, если нужно проверить, является ли объект определенным типом, то лучше воспользоваться функцией isinstance(). Эта функция принимает два аргумента: объект, тип которого нужно проверить, и тип данных (или кортеж типов данных), с которым сравнивается тип объекта. Если тип объекта совпадает с указанным типом данных (или одним из указанных типов данных), то функция возвращает True, в противном случае — False.

x = [1, 2, 3]
print(isinstance(x, list))  # True
print(isinstance(x, dict))  # False

x = {'one': 1, 'two': 2, 'three': 3}
print(isinstance(x, list))  # False
print(isinstance(x, dict))  # True

Таким образом, с помощью функций type() и isinstance() можно легко определить тип данных объекта в Python.

Содержание

Добавить комментарий

Определи профессию по рисунку