Функция type в Python 3

Функция type в Python

Эта статья поможет вам разобраться как работает функция type в языке программирования Python.

Введение

Python имеет множество встроенных функций. В этой статье мы обсудим, как проверить тип данных у переменных в Python с помощью функции type.

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

Описание

Type — это встроенная функция, которая помогает определить тип переменной, передаваемой на вход.

Нужно просто поместить имя переменной внутри функции type, и Python вернет тип данных.

В основном, мы используем ее в целях отладки.

Официальная документация по функции type.

Базовый синтаксис

type(var)

Параметры

Аргумент является необходимым параметром, который принимает внутрь функция type.

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

Также мы можем передать в функцию type три аргумента, т.е. type(name, databases, dict). В таком случае он вернет вам новый тип объекта.

Расширенный синтаксис

type(name, bases, dict)

Параметры

  • name — это имя класса.
  • bases — это необязательный параметр, это имя базового класса.
  • dict — это необязательный параметр, и это пространство имён имеет определение класса.

Возвращаемые значения

  • Если мы передадим в качестве параметра только объект, то он вернет только тип объекта.
  • Если мы передадим имя, базы и диктат в качестве параметра, то он вернет новый тип.

Примеры

Рассмотрим некоторые способы, с помощью которых можно узнать тип данных у переменной.

Использование базового синтаксиса

В этом примере мы будем принимать входные данные во всех форматах для записи переменной типа string, integer, negative value, float value, complex number, list, tuple, set и dictionary. После этого мы распечатаем тип данных всех переменных и посмотрим вывод.

var_str = "Проверка типов с помощью функции Type"
print("Тип данных: ", type(var_str))

var_num = 7372189
print("Тип данных: ", type(var_num))

var_negative = -8213
print("Тип данных: ", type(var_negative))

var_float = 35.158
print("Тип данных: ", type(var_float))

var_complex = 1 + 5j
print("Тип данных: ", type(var_complex))

var_list = [20, 15, 14, 33, 12]
print("Тип данных: ", type(var_list))

var_tuple = (9, 12, 13, 12, 18, 133, 123)
print("Тип данных: ", type(var_tuple))

var_dict = {"а": 22, "б": 33, "в": 11}
print("Тип данных: ", type(var_dict))

var_set = {"а", "б", "в", "г"}
print("Тип данных: ", type(var_set))

Вывод программы

Тип данных:  <class 'str'>
Тип данных:  <class 'int'>
Тип данных:  <class 'int'>
Тип данных:  <class 'float'>
Тип данных:  <class 'complex'>
Тип данных:  <class 'list'>
Тип данных:  <class 'tuple'>
Тип данных:  <class 'dict'>
Тип данных:  <class 'set'>

Здесь все просто и понятно.

Использование расширенного синтаксиса

В этом примере мы возьмем все параметры, такие как имя, базовый класс и т.д. После этого мы распечатаем вывод. Давайте посмотрим более наглядно с помощью следующего кода:

class TestClass:
    x = "Тестовая строка"
    y = 9999


test = type("NewClass", (TestClass,), dict(x="Тестовая строка", y=9999))
print(type(test))
print(vars(test))

Вывод программы

<class 'type'>
{'x': 'Тестовая строка', 'y': 9999, '__module__': '__main__', '__doc__': None}

Заключение

В данной статье мы научились проверять тип данных у переменной и изучили как работает функция type с двумя различными методами. Мы также проверили все типы переменных с помощью функции type.

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

Егор Егоров

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

Ссылка на мой github есть в шапке. Залетай.

Оцените автора
Егоров Егор
Добавить комментарий

  1. Костя

    Прочитал, что type используется в основном для отладки. Но хочу уточнить, бывают ли ситуации, когда не очевиден тип данных? Какой может быть практический смысл проверки типа? Спасибо

    Ответить
    1. Егор Егоров автор

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

      Ответить
      1. Костя

        Ага, спасибо

        Ответить
  2. михаил

    Ничего не понятно! Если это для новичков!
    А для тех кто понимает — зачем это писать?
    Нет никакой конкретики, что для чего и почему эти буковки, а не другие

    Ответить
    1. Егор Егоров автор

      Михаил, здравствуйте, я не делю контент на новичков, средничков и профи, у меня есть желание и возможность написать по какой-то теме — я иду писать. Те люди, которые понимают, они не будут искать информацию, а те кто ищут — ее найдут.

      Если вы ничего не понимаете, то, скорее всего, информация не вашего уровня, в программирование на Python множество уровней сложности информации, которую даже и спустя 5 лет программирования можно не понимать.

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

      Ответить