Programming & QA
322 subscribers
300 photos
178 links
Smartiqa - платформа о технологиях, программировании и тестировании ПО.

Сайт: https://smartiqa.ru
Канал YouTube: https://www.youtube.com/channel/UCk_7MNLSD0S2fxi0EQ-V6lQ
Vkontakte: https://vk.com/smartiqa
Vkontakte Python: https://vk.com/smartiqa_python
Download Telegram
Вопрос №162

Q: Чем отличаются изменяемые и неизменяемые данные?

A: Изменяемый тип — сложный тип данных в объектно-ориентированном программировании, значения которого (как правило — объекты) после своего создания допускают изменение своих свойств. К неизменяемым относятся целые числа (int), числа с плавающей запятой (float), булевы значения (bool), строки (str), кортежи (tuple). К изменяемым — списки (list), множества (set), байтовые массивы (byte arrays) и словари (dict).
👍1
Вопрос №163

Q: Дан кортеж: tpl = (1, 2, 3, [1,2,3], 5). Как все знают, кортеж - это неизменяемый тип данных. Изменится ли его содержимое после выполнения команды tpl[3].append(4)?

A: Да, изменится, так как кортеж содержит только ссылки на объекты и поэтому не может защитить объект внутри себя от изменения.
Вопрос №164

Q: Чем отличаются генераторы от итераторов?

A: Итератор — механизм поэлементного обхода данных, а генератор позволяет отложено создавать результат при итерации. Генератор может создавать результат на основе алгоритма или брать элементы из источника данных и изменять их. Получаем разделение ответственности: клиенты имеют возможность работать с разными коллекциями унифицированным образом, а коллекции становятся проще за счет того, что делегируют перебор элементов другой сущности. Любой генератор в Python - итератор, но не наоборот. Примеры генераторов: range() (генерирует арифметическую прогрессию), enumerate() (генерирует двухэлементные кортежи: индекс + элемент итерируемого объекта)
👍1
Вопрос №165

Q: Как пройтись по всем парам ключ-значение в словаре?

A: for key, value in dct.items():
👍1
Вопрос №166

Q: Что такое lambda в Python?

A: Анонимная функция, то есть функция, которая имеет функционал (в одну строку), но не имеет имени. Как правило, используется как параметр функции (например filter(), sorted()) или как возвращаемое значение функции.
Вопрос №167

Q: Что такое декоратор?

A: Декоратор - это обёртка над функцией (или другим объектом), которая изменяет ее поведение. Это удобно, т.к. не нужно менять исходный код, который не обязательно будет вашим. Использование: оценка времени работы функции, кеширование, запуск только в определенное время, задание параметров подключения к базе данных и т.д.
Вопрос №168

Q: Знаете ли какие-нибудь встроенные в Python декораторы?

A: 1. @staticmethod, @classmethod.
2. @lru_cache из модуля functools.
3. @dataclass из модуля dataclass
👍1👎1
Вопрос №169

Q: Что такое контекстный менеджер? Для чего он нужен? Приведите пример.

A: Контекстные менеджеры позволяют задать поведение при работе с конструкцией with: при входе и выходе из блока. Это упрощает работу с ресурсами в части их захвата и освобождения. Частый кейс - закрытие файловых дескрипторов.
Вопрос №170

Q: Приведите пример обработки исключения.
👍1🔥1
Вопрос №171

Q: Назовите основные функции по работе с json в питоне.

A: Запись: dump(), dumps(). Чтение: load(), loads().