Найти тему
Секреты python

Типы данных в python

рис. 1
рис. 1

В python различают следующие типы данных (точнее - классы объектов):

1. NoneType - неопределенное значение. Пример кода см. на рис.1.

2. Числовые типы.

  • int - целочисленный тип: 1; 44; 90 и т.п.

Пример кода создания переменной.

pos_min = 1

Конструктор для приведения значения к типу целого числа - int().

v = '1' # тип текстовый - str
b = int(v)+1 # принудительно переводим в числовой тип int и прибавляем 1
print(v, type(v), b, type(b)) # выводим на экран, что получилось

Результат: 1 <class 'str'> 2 <class 'int'>

Зачем использовать функцию - конструктор?

Допустим, вы извлекаете данные с сайта или документа docx (word) и числа представлены в виде текста, а с ними необходимо выполнить арифметические действия: что-то посчитать. Поэтому прежде их необходимо перевести в соответствующий тип данных.

  • float - вещественные числа (или с плавающей точкой): 2,34; 9,89; 4,1;

Пример.

pt_min = 2.34

Конструктор для приведения значения к указанному типу - float().

v = '1.23' # тип текстовый - str
b = float(v)+1 # принудительно переводим в вещественный тип float и прибавляем 1
print(v, type(v), b, type(b))

Результат: 1.23 <class 'str'> 2.23 <class 'float'>

  • complex - комплексные числа: 1+2j; 3+4j. Подробнее о комплексных числах можно узнать здесь.

Пример.

num_complex = 1+2j

или через конструктор - complex()

num_complex = complex(1,2)

3. Логический тип данных bool, который может принимать значения True (истина) или False (ложь). Является подтипом int.

Пример.

italic = True
bold = False

4. Текстовый тип данных str для работы с символами.

Пример.

info_tag = 'warning'
header = "welcome"

Конструктор для приведения значения к типу текст - str().

result = 23.4
print(f'Результат вычисления - {str(result)}')

Результат: Результат вычисления - 23.4

5. Список (list) - автоматически масштабируемая (расширяемая и сужаемая) структура для хранения простых (числа, текст и пр.) и сложных данных (словари, множества, списки и пр.).

Особенности списков:

  • элементы списка не обязательно должны быть одного типа;
  • в отличие от кортежа списки - это изменяемый тип данных;
  • в памяти занимают больше места, чем кортежи;
  • не могут быть ключом для словаря.

Пример.

heap = [123,321,'ааа',4.34]

Конструктор для приведения значения к типу список - list().

6. Кортеж (tuple) - тип данных похожий на список (list), который имеет следующие отличия:

  • не изменяется после создания (объявления);
  • в памяти занимает меньше места, чем список;
  • может быть ключом для словаря (dict).

Пример.

tpl = (123,321,'ааа',4.34)

Конструктор для приведения значения к типу кортеж - tuple().

7. Range - это неизменяемый тип, который предназначен для хранения последовательности чисел, созданных через функцию range().

Функция range генерирует ряд чисел и имеет формат range(начальное число, конечное число, шаг). Результат хранится в объекте класса range.

n = range(1,10,2)
print(*n, type(n))

Результат: 1 3 5 7 9 <class 'range'>

Другой пример.

n = range(10)
print(*n, type(n))

Результат: 0 1 2 3 4 5 6 7 8 9 <class 'range'>

Знак * используется в функции print для распаковки данных из объекта range, чтобы показать содержимое.

Объект range часто используется в циклах для генерации ряда чисел.

8. Множество - это неупорядоченный набор данных, которые не имеют дубликатов. Когда нам важно содержание, но не порядок. Похожи на множества в математике.

Множества включают в себя изменяемые и неизменяемые множества.

8.1. Изменяемые множества (set)

Пример 1.

st = {89,67,5,5,123}
print(st)

Результат: {123, 89, 67, 5}

Т.е. изначально заданный порядок нам не гарантируется!

Пример 2.

a = set('mnozhestvoo')
print(a)

Результат: {'t', 'm', 'h', 'e', 'o', 's', 'v', 'n', 'z'}

Конструктор для приведения значения к типу - set().

8.2. Неизменяемые множества (frozenset).

Конструктор для приведения значения к типу - frozenset().

9. Словарь (dict) . Структура данных в формате "ключ" - "значение". Подробнее - здесь.

Конструктор для приведения значения к типу словарь - dict().

Каждый тип данных имеет свои цели и особенности использования, но этому будут посвящены отдельные материалы на нашем канале.

Как определить тип объекта в python?

Чтобы проверить, к какому типу (а для python точнее сказать - к какому классу) относится объект, вы всегда можете использовать встроенную функцию type(имя_объекта_для_проверки):

italic = True
print(type(italic))

Результат: <class 'bool'>

Как проверить тип объекта в коде?

В коде проверить тип (отнесение к классу) объекта можно через функцию isintance(имя_объекта, класс):

italic = True
if isinstance(italic, bool):
print('boolean')
else:
print(type(italic))

Результат: boolean

Обратите внимание: имя класса указывается без кавычек: bool, str, int, float и т.п.

Пожалуйста, поддержите канал подпиской или лайком.

Это будет стимулом для нас работать лучше.

#технологии #типыданных# типыданных #питон #python #python3 #pythonснуля #урокиpython #программированиенаpython