В процессе работы с 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.
Добавить комментарий