▪Преобразование типов - это преобразование объекта из одного типа данных в другой тип данных.
▪Неявное преобразование типов автоматически выполняется интерпретатором Python.
▪Python позволяет избежать потери данных в неявном преобразовании типов.
▪Явное преобразование типов также называется приведением типов, типы данных объекта преобразуются с использованием предопределенной функции.
▪При приведении типов может произойти потеря данных, поскольку мы приводим объект к определенному типу данных.
Что такое аннотация типов?
В простейшем случае аннотация содержит непосредственно ожидаемый тип. Аннотации для переменных пишут через двоеточие после идентификатора. После этого может идти инициализация значения. Например price: int = 5 Параметры функции аннотируются так же как переменные, а возвращаемое значение указывается после стрелки -> и до завершающего двоеточия. Например def indent_right(s: str, width: int) -> str:.
#вопросы_с_собеседований Что такое и чем отличается old-style от new-style classes?
— Old-style классы наследуются непосредственно от объекта класса type. New-style классы наследуются от объекта класса object.
— New-style классы поддерживают дополнительные возможности, например descriptors, properties, slots. В old-style классах они не работают.
— В new-style классах метод init вызывается при наследовании, в отличие от old-style классов.
— New-style классы предпочтительны, так как полностью поддерживают особенности ООП. Большинство библиотек требуют именно их.
Рекомендуется использовать new-style классы, унаследованные от object. Они обладают расширенным функционалом и лучше взаимодействуют с другими объектами.
#вопросы_с_собеседований Что будет если ошибку не обработает блок except?
Если ошибка не будет обработана в блоке except, то программа прервется и выдаст сообщение об ошибке. Это называется необработанным исключением.
При возникновении исключения Python генерирует traceback — последовательность вызовов функций, которая привела к ошибке. Если исключение не перехватывается блоком except, то traceback выводится пользователю и программа завершается аварийно.
Сериализация — это процесс преобразования объектов в поток байтов для сохранения или передачи. Это позволяет сохранить состояние объекта в файл или базу данных и восстановить его позже.
Основные преимущества сериализации: — Сохранение и восстановление объектов между сессиями программы. — Передача объектов по сети между приложениями и машинами. — Преобразование объектов в формат хранения, независимый от платформы.
PyDy — это библиотека Python для динамического моделирования и управления роботами. Она позволяет создавать модели роботов, симулировать их движение и управлять ими.
Zappa — это инструмент с открытым исходным кодом, который позволяет легко создавать, развертывать и обновлять веб-приложения Python (включая, но не ограничиваясь WSGI-приложениями) на AWS Lambda + API Gateway.
UltraJSON — это высокопроизводительный модуль JSON для Python, который является альтернативой стандартному модулю json. Он оптимизирован для скорости и эффективности, делая его идеальным выбором для приложений, которым требуется высокая производительность при работе с JSON.
Marshmallow — это легкая библиотека Python, предназначенная для преобразования сложных объектов в простые типы данных Python и обратно. Она широко используется для сериализации и десериализации данных, особенно в веб-приложениях.
Docxtpl — это библиотека Python, предназначенная для генерации документов Word из шаблонов. Она позволяет легко создавать динамические документы, вставляя данные из Python в шаблон docx.
Hypothesis — это библиотека Python для тестирования на основе генерации данных. Она позволяет писать тесты, которые автоматически генерируют тестовые данные для проверки вашего кода.
Feedparser — это библиотека Python, которая позволяет вам легко парсить RSS и Atom фиды. Она обеспечивает простой интерфейс для доступа к информации, содержащейся в фиде, такой как заголовки, описания, ссылки и даты публикации.