Изучаем типы данных в Python: числа, строки, списки и другие типы 🧑‍🎓
Python

Изучаем типы данных в Python: числа, строки, списки и другие типы 🧑‍🎓

Razilator

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

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

Это полезно: Преобразование типов данных в Python: пояснения и примеры

Какие существуют типы данных в Python?

  • Числовые типы данных: int, float, complex, используются для представления чисел.
  • Тип данных String: str, используется для представления текстовой информации.
  • Последовательности: list, tuple, range (список, кортеж, диапазон), используются для хранения упорядоченных коллекций объектов.
  • Двоичные: bytes, bytearray, memoryview, используются для хранения двоичных данных, таких как изображения и звук.
  • Сопоставления: dict, используется для хранения данных в виде пар ключ-значение.
  • Логический: bool, используется для представления логических значений True и False.
  • Множества: set, frozenset, используются для хранения уникальных элементов в неупорядоченном виде.

Числовые типы данных

Числовой тип данных Python используется для хранения числовых значений, например:

  • int – содержит целые числа со знаком неограниченной длины.
  • long – содержит длинные целые числа (существует в Python 2.x, убран Python 3.x).
  • float – содержит числа с плавающей точкой с точностью до 15 десятичных знаков и может достигать до 53 бит.
  • complex – содержит комплексные числа.

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

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

Пример:

main.py
# целочисленное число
a = 10
print('Тип переменной, имеющей значение', a, 'это', type(a))
# число с плавающей точкой
b = 5.1234
print('Тип переменной, имеющей значение', b, 'это', type(b))
# комплексное число
c = 500 + 3j
print('Тип переменной, имеющей значение', c, 'это', type(c))

Результат:

Терминал
>>> Тип переменной, имеющей значение 10 это <class 'int'>
>>> Тип переменной, имеющей значение 5.1234 это <class 'float'>
>>> Тип переменной, имеющей значение (500+3j) это <class 'complex'>

Строковой тип данных

Строка (String) — это последовательность символов. Python поддерживает символы Unicode. Обычно строки представляются в одинарных или двойных кавычках.

Строки в Python являются неизменяемыми (immutable), то есть после создания строки нельзя изменить ее содержимое. Если нужно изменить строку, необходимо создать новую строку с нужным содержимым.

Строки в Python поддерживают множество методов, таких как методы для поиска подстрок, замены символов, разбиения строк на части, удаления пробельных символов и многие другие.

Также в Python есть так называемые "сырые строки" (raw strings), которые позволяют включать специальные символы (например, обратный слеш) без необходимости экранирования.

Пример:

main.py
# Строка
s = "Пример строки"
print('Тип переменной, имеющей значение', s, 'это', type(s))

# Строка с использованием одинарных кавычек
s1 = 'Еще один пример строки'
print('Тип переменной, имеющей значение', s1, 'это', type(s1))

# Пустая строка
s2 = ""
print('Тип переменной, имеющей значение', s2, 'это', type(s2))

# строка, содержащая цифры и символы
s3 = "123abc!?"
print('Тип переменной, имеющей значение', s3, 'это', type(s3))

Результат:

Терминал
>>> Тип переменной, имеющей значение Пример строки это <class 'str'>
>>> Тип переменной, имеющей значение Еще один пример строки это <class 'str'>
>>> Тип переменной, имеющей значение  это <class 'str'>
>>> Тип переменной, имеющей значение 123abc!? это <class 'str'>

Тип данных последовательностей

Типы данных последовательностей в Python позволяют хранить упорядоченные коллекции объектов.

  • Список (list) - это упорядоченная коллекция объектов, которая может содержать элементы разных типов. Элементы списка могут изменяться, добавляться или удаляться во время выполнения программы.
  • Кортеж (tuple) - это упорядоченная коллекция объектов, которая также может содержать элементы разных типов. Кортежи отличаются от списков тем, что элементы в них не могут быть изменены после создания.
  • Диапазон (range) - это тип данных, который представляет последовательность чисел. Обычно он используется в циклах for для указания количества итераций.

Пример:

main.py
# создание списка
my_list = [1, 'hello', True]
print('Тип переменной my_list это', type(my_list))

# создание кортежа
my_tuple = (1, 'hello', True)
print('Тип переменной my_tuple это', type(my_tuple))

# создание диапазона
my_range = range(5)
print('Тип переменной my_range это', type(my_range))

Результат:

Терминал
>>> Тип переменной my_list это <class 'list'>
>>> Тип переменной my_tuple это <class 'tuple'>
>>> Тип переменной my_range это <class 'range'>

Двоичные типы данных

Двоичные типы данных в Python используются для хранения и манипулирования двоичными данными, такими как изображения или звуковые файлы.

В Python есть три типа данных, которые предназначены для хранения двоичных данных:

  • bytes – неизменяемая последовательность байтов. Представляет двоичные данные, которые необходимо хранить в неизменяемом виде, например, содержимое изображения.
  • bytearray – изменяемая последовательность байтов. Представляет двоичные данные, которые могут изменяться, например, кадры видео.
  • memoryview – позволяет работать с памятью как с последовательностью байтов, что может быть полезным при работе с большими объемами данных.

Пример:

main.py
# bytes
b = b'\x00\xff\x50'
print('Тип переменной, имеющей значение', b, 'это', type(b))

# bytearray
ba = bytearray(b)
print('Тип переменной, имеющей значение', ba, 'это', type(ba))

# memoryview
mv = memoryview(b)
print('Тип переменной, имеющей значение', mv, 'это', type(mv))

Результат:

Терминал
>>> Тип переменной, имеющей значение b'\x00\xffP' это <class 'bytes'>
>>> Тип переменной, имеющей значение bytearray(b'\x00\xffP') это <class 'bytearray'>
>>> Тип переменной, имеющей значение <memory at 0x7fcd3a8dd100> это <class 'memoryview'>

Тип данных сопоставления

Тип данных Сопоставления в Python представлен словарем (dict), который используется для хранения ключей и связанных с ними значений. Ключи должны быть уникальными и неизменяемыми, а значения могут быть изменяемыми и не уникальными.

Пример:

main.py
# Создание словаря
person = dict(name='John', age=30, city='New York')
person_alt = {'name': 'Alexandr', 'age': 25, 'city': 'Moscow'}

# Вывод словарей
print(person, person_alt)

# Тип данных
print(type(person))

print(type(person_alt))

Результат:

Терминал
>>> {'name': 'John', 'age': 30, 'city': 'New York'} {'name': 'Alexandr', 'age': 25, 'city': 'Moscow'}
>>> <class 'dict'>
>>> <class 'dict'>

Логический тип данных

Логический тип данных bool в Python используется для представления истинности выражения, которое может иметь только два значения: True (истина) или False (ложь). Этот тип данных может быть полезен, например, для проверки условий и принятия решений на основе этих условий.

Пример:

main.py
a = 10
b = 5
c = a > b
print('Результат сравнения', a, '>', b, 'это', c, 'тип', type(c))

Результат:

Терминал
>>> Результат сравнения 10 > 5 это True тип <class 'bool'>

Тип данных множество

Тип данных множество (set) в Python представляет собой неупорядоченную коллекцию уникальных элементов. Основным применением множеств является проверка наличия элемента в коллекции, удаление дубликатов, нахождение пересечения, объединения и разности множеств.

Тип данных frozenset, в отличие от обычного множества set, является неизменяемым.

Пример:

main.py
# создание множества
my_set = {1, 2, 3, 4, 5}

# вывод типа данных
print(type(my_set))  # <class 'set'>

# создание неизменяемого множества
my_frozenset = frozenset([1, 2, 3, 4, 5])

# вывод типа данных
print(type(my_frozenset))  # <class 'frozenset'>

Результат:

Терминал
>>> <class 'set'>
>>> <class 'frozenset'>
;