Изучаем типы данных в Python: числа, строки, списки и другие типы 🧑🎓
В данной статье мы рассмотрим основные типы данных в языке программирования 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()
, которая возвращает тип данных переменной. Тип данных может изменяться в процессе работы программы, например, переменная может сначала содержать целое число, а затем строку.
Пример:
# целочисленное число
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), которые позволяют включать специальные символы (например, обратный слеш) без необходимости экранирования.
Пример:
# Строка
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 для указания количества итераций.
Пример:
# создание списка
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 – позволяет работать с памятью как с последовательностью байтов, что может быть полезным при работе с большими объемами данных.
Пример:
# 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), который используется для хранения ключей и связанных с ними значений. Ключи должны быть уникальными и неизменяемыми, а значения могут быть изменяемыми и не уникальными.
Пример:
# Создание словаря
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 (ложь). Этот тип данных может быть полезен, например, для проверки условий и принятия решений на основе этих условий.
Пример:
a = 10
b = 5
c = a > b
print('Результат сравнения', a, '>', b, 'это', c, 'тип', type(c))
Результат:
>>> Результат сравнения 10 > 5 это True тип <class 'bool'>
Тип данных множество
Тип данных множество (set) в Python представляет собой неупорядоченную коллекцию уникальных элементов. Основным применением множеств является проверка наличия элемента в коллекции, удаление дубликатов, нахождение пересечения, объединения и разности множеств.
Тип данных frozenset, в отличие от обычного множества set, является неизменяемым.
Пример:
# создание множества
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'>