Как проверить тип данных в Python

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

Каждое значение в Python имеет тип данных. В программировании на Python все является объектом, а типы данных — это классы, а переменные — экземпляры (объекты) этих классов.

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

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

Функция type () в основном используется для целей отладки. С одним аргументом функция Python type () возвращает тип объекта. Python не имеет тех же типов данных, что и C/C ++.

Вы можете использовать __ name__ атрибут, чтобы получить имя объекта. В Python имена, начинающиеся с подчеркивания, семантически не являются частью общедоступного API. Поэтому разработчикам рекомендуется избегать их использования.

Синтаксис

 type (object) 

Параметры

Аргумент object является обязательным и может быть строкой, целым числом, списком, кортежем, набор, словарь, число с плавающей запятой и т. д.

См. следующий пример.

 #  app.pystr = 'AppDividend'print (type (str)) int = 123print (type (int)) float = 21.19print (type (float)) negative = -19print (type (negative)) dictionary = {' blog ':  'AppDividend'} print (type (словарь)) list = [1, 2, 3] print (type (list)) tuple = (19, 21, 46) print (type (tuple)) 

См. следующий результат.

Детали реализации int и float

В Python 2 целое число обычно представляет собой целое число со знаком, равное ширине слова реализации (ограничено системой). Обычно это реализовано как long в C. Когда целые числа становятся больше этого, мы обычно конвертируем их в длинные числа Python (с неограниченной точностью, не путать с длинными числами C).

Например, , в 32-битном Python 2 мы можем сделать вывод, что int — это 32-битное целое число со знаком.

В Python 3 старое целое число исчезает, и мы используем (Python) до тех пор, пока int, который имеет неограниченную точность.

Не используйте __ class__ , семантически закрытый API, для получения типа переменной. Вместо этого используйте встроенную функцию type () .

И не беспокойтесь о необходимой информации о Python. Мне не приходилось регулярно сталкиваться с проблемами, связанными с этим.

Вы, вероятно, тоже этого не сделаете, и если вы это сделаете, то вы должны знать достаточно, чтобы не искать в этом ответе, что делать.

Я настоятельно рекомендую что вы начинаете использовать интерактивный интерпретатор IPython при решении таких вопросов.

Он позволяет вам ввести имя_переменной? И вернет весь список информации об объекте, включая тип и строку документации этого типа.

См. следующий код.

 В [9]: var = 1921In [10]: var? Тип: intBase Класс:  Строковая форма: 1921 Пространство имен:  InteractiveDocstring: 

Не используйте __class__ для проверки типа данных в Python.

В Python имена, начинающиеся с подчеркивания семантически не являются частью общедоступного API, и пользователям рекомендуется избегать их использования. (За исключением случаев, когда это обязательно.)

Поскольку тип дает нам класс объекта, нам следует избегать прямого получения __class__.

 class Foo (object): def foo  (self): print (self .__ class __) f = Foo () f.foo () 

Вывод

  

Теперь давайте воспользуемся синтаксисом функции type (), который намного лучше этого.

 
 class Foo (object): def foo (self): print (type (self)) f = Foo () f.foo () 

& nbsp;

Вывод

  

Не используйте __ class__ , семантически закрытый API, чтобы получить тип переменной. Вместо этого используйте тип.

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

Интерпретатор IPython

Используйте интерактивный интерпретатор IPython при решении таких вопросов, как проверка типов в Python. Он позволяет вам вводить имя_переменной? И он вернет полный список информации об объекте, включая тип и строку документации для типа.

 In [9]: var = 11In [10]: var? Type: intBase Class  :  Форма строки: 11Пространство имен: InteractiveDocstring: int (x [, base]) -> integer 

Преобразование строки или числа в целое число, если возможно. Аргумент с плавающей запятой будет усечен до нуля (это не включает строковое представление числа с плавающей запятой!) При преобразовании строки используйте необязательную базу.

Это ошибка при преобразовании нестрокового значения в базу.

Если аргумент находится за пределами целочисленного диапазона, вместо него будет возвращен длинный объект.

Заключение

Наконец, урок по Python type () завершен.

Оцените статью
nanomode.ru
Добавить комментарий