и посмотреть медиа
Python Interview Questions - tests
и посмотреть медиа
Questions, tests and tasks for Python interviews.
Questions, tests and tasks for Python interviews.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Channel with questions for Python interviews. Tests, tasks and materials for preparation.
🤔 Что такое dunder методы? Это специальные методы, обрамлённые двойными подчёркиваниями. 1. Пример: init, str, add. 2. Они позволяют изменять поведение встроенных операций, таких как создание объектов или арифметика. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Какие есть методы чтобы реализовать протокол итерирования данных? Для реализации протокола итерирования данных в Python необходимо использовать два метода: __iter__() и __next__(). 🚩Протокол итератора 🟠Метод `__iter__()` Этот метод должен возвращать объект-итератор. В простом случае он возвращает сам объект, если объект реализует метод __next__(). Метод __iter__() необходим для того, чтобы объект можно было использовать в конструкциях, которые требуют итерируемого объекта, таких как циклы for. 🟠Метод __next__() Этот метод возвращает следующий элемент в последовательности. Когда элементы заканчиваются, метод должен вызвать исключение StopIteration для остановки итерации. class MyRange: def __init__(self, start, end): self.start = start self.end = end self.current = start def __iter__(self): self.current = self.start # Перезапуск итератора при каждом вызове return self def __next__(self): if self.current >= self.end: raise StopIteration else: self.current += 1 return self.current - 1 # Использование for number in MyRange(1, 5): print(number) 🚩Дополнительно: итераторы и генераторы Для упрощения создания итераторов в Python можно использовать генераторы. Генераторы позволяют писать итераторы с использованием ключевого слова yield вместо определения методов __iter__() и __next__() вручную. def my_range(start, end): current = start while current < end: yield current current += 1 # Использование for number in my_range(1, 5): print(number) Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Что такое await? await — ключевое слово в Python, которое приостанавливает выполнение функции, пока не завершится корутина или awaitable-объект. Оно передаёт управление event loop'у, позволяя другим задачам выполняться в это время. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Как в Python происходит поиск переменной по области видимости? В Python поиск переменной происходит по правилу LEGB, которое определяет порядок поиска в четырёх областях видимости: Пример работы LEGB x = "глобальная" # Global def outer(): x = "охватывающая" # Enclosing def inner(): x = "локальная" # Local print(x) # Поиск начинается отсюда (L) inner() outer() Вывод локальная 🚩Глобальные переменные (`global`) Если нужно изменить глобальную переменную внутри функции, используем global x = 10 # Глобальная переменная def modify_global(): global x x = 20 # Меняем глобальную переменную modify_global() print(x) # 20 🚩Переменные из внешней функции (`nonlocal`) Если в вложенной функции нужно изменить переменную из enclosing-области, используем nonlocal def outer(): x = 10 # Переменная из enclosing-области def inner(): nonlocal x x = 20 # Меняем `x` в `outer()` inner() print(x) # 20 outer() 🚩Что если переменная отсутствует во всех областях? Если переменная не найдена в LEGB, Python выдаст NameError def func(): print(y) # Ошибка: y не объявлена! func() Ошибка NameError: name 'y' is not defined 🚩`Built-in` — встроенные функции Python в последнюю очереде проверяет встроенные функции (print(), len(), sum() и т. д.). print = "Ошибка!" # Переопределили встроенную функцию print("Hello") # TypeError: 'str' object is not callable Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Для чего нужен модуль warnings? Он управляет системой предупреждений: позволяет их создавать, фильтровать, подавлять и логировать. Это удобно для устаревших функций или плохих практик. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиа🤔 Какая сложность сортировки слияния в худшем случае? Сортировка слиянием (Merge Sort) — это алгоритм, который использует разделяй и властвуй (divide & conquer). В худшем случае сложность O(n log n). 🚩Как работает сортировка слиянием? 🟠Делим массив пополам до тех пор, пока не останутся отдельные элементы. 🟠Сортируем и сливаем полученные подмассивы. def merge_sort(arr): if len(arr)
Открыть канал и посмотреть медиа🤔 В чем суть принципа REST? REST (Representational State Transfer) — это архитектурный стиль для разработки веб-сервисов, который использует стандартные методы HTTP для взаимодействия между клиентом и сервером. В REST каждая операция выполняется с использованием определённого HTTP-метода: GET для получения данных, POST для создания, PUT для обновления и DELETE для удаления. RESTful API использует унифицированные ресурсы и URL для представления данных, а также статeless-коммуникацию между клиентом и сервером. Основной принцип REST — это простота и масштабируемость. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!