1. Что такое структура? В чём её отличие от массива?
Структура — это тип данных, который позволяет группировать различные элементы (поля), часто разных типов, в одну единицу. Структуры используются для хранения данных, которые логически связаны между собой. Массив, в отличие от структуры, представляет собой набор элементов одного типа, которые хранятся в памяти подряд. Главное отличие между ними в том, что структура может содержать элементы разных типов, тогда как массив — только одного.
2. В каких случаях использование структур даёт преимущества? Какие именно?
Использование структур даёт преимущества в тех случаях, когда необходимо организовать связанные данные, например, для представления сложных объектов. Структуры позволяют упорядочить данные и обеспечить удобный доступ к полям, объединяя их в логические единицы. Это упрощает работу с данными и делает программу более понятной, облегчая поддержание и модификацию кода.
3. Как объявляется новый тип данных для хранения структур в Python? Выделяется ли при этом память?
В Python для создания структур используется модуль namedtuple из стандартной библиотеки или класс dataclass (начиная с Python 3.7). Пример объявления нового типа данных для структуры:
from collections import namedtuple Point = namedtuple('Point', ['x', 'y'])
В Python также можно использовать обычные классы, чтобы создать структуру. При этом память выделяется динамически при создании экземпляра структуры или класса, а не заранее, как это происходит в некоторых других языках программирования.
4. Как обращаются к полю структуры?
Чтобы обратиться к полю структуры, в Python используется точечная нотация. Например, если у нас есть структура Point с полями x и y, доступ к полям будет таким:
p = Point(10, 20) print(p.x) # выводит 10 print(p.y) # выводит 20
5. Что такое двоичный файл? Чем он отличается от текстового?
Двоичный файл — это файл, в котором данные записаны в бинарном виде, т.е. в виде последовательности байтов. В отличие от текстового файла, где данные представлены в виде символов, читаемых человеком (обычный текст, например, в кодировке UTF-8), в двоичном файле хранятся любые данные: изображения, аудиофайлы, программы. Двоичные файлы не предназначены для прямого чтения человеком, их нужно интерпретировать с помощью специальных программ.
6. Как можно сортировать структуры?
Сортировка структур обычно выполняется с помощью встроенной функции sorted() или метода .sort(). Для сортировки структур можно указать, по какому полю или атрибуту сортировать, используя параметр key. Например, если у нас есть список структур Point, мы можем отсортировать его по полю x:
points = [Point(3, 4), Point(1, 2), Point(5, 6)] sorted_points = sorted(points, key=lambda p: p.x) Это отсортирует список точек по координате x.