Python numbers strings and lists
Изучаем типы данных в 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)) # # создание неизменяемого множества my_frozenset = frozenset([1, 2, 3, 4, 5]) # вывод типа данных print(type(my_frozenset)) #
>>> class 'set'> >>> class 'frozenset'>