CODERIKK
89 subscribers
68 photos
59 links
Лучший авторский контент 💙
По вопросам: @AgentCoderikkBot
Изучаем Python, SQL и tg-ботов
Download Telegram
Вопросы с собеседований #12🙋🏼‍♂️

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

🔸Декоратор в Python – это функция, которая принимает другую функцию в качестве аргумента и расширяет ее функциональность без изменения ее кода. Декораторы могут использоваться для добавления логирования, проверки аутентификации, тайминга выполнения и ещё кучи полезных штук.

🔹Таким образом, написав свой собственный декоратор, вы можете расширить функциональность функций, не изменяя их исходный код.

🔸Основная суть: по сути декоратор принимает на вход другую функцию и позволяет её модифицировать снаружи, не меняя внутренней реализации самой функции.

#CODERIKK #GIT #Вопросы #Собеседование
🔥21
Вопросы с собеседований #13🙋🏼‍♂️

Для чего используется дандер-метод init?


🔸Функция (дандер-метод, если точнее) init является конструктором класса, и она вызывается автоматически при создании нового экземпляра класса. init используется для инициализации атрибутов, которые будут принадлежать объектам, создаваемым с помощью класса.

🔹Внутри функции init определяются атрибуты объекта, которые будут доступны через ссылку на экземпляр, на который ссылается переменная self.

🔹Суть: когда мы создаем новый объект, мы передаем эти аргументы в функцию init, чтобы инициализировать соответствующие атрибуты.

#CODERIKK #GIT #Вопросы #Собеседование
🔥21
Вопросы с собеседований #14🙋🏼‍♂️

Что такое @classmethod, @staticmethod, @property?

🔸@classmethod, @staticmethod, and @property – это декораторы методов класса в языке Python.

🔹@classmethod используется для создания методов, которые будут работать с классом в целом, а не с отдельным экземпляром. В качестве первого параметра этот метод принимает класс, а не экземпляр объекта, и часто используется для создания фабричных методов и методов, которые работают с класс-уровнем методов.

🔹@staticmethod декоратор работает подобно @classmethod, но он не получает доступ к классу в качестве первого параметра.

🔹@property декоратор используется для создания свойств объекта, которые можно получить и задать, но выглядят как обычные атрибуты объекта. Это позволяет управлять доступом к атрибутам объекта, установив условиями доступа и возможностью заложить дополнительную логику при чтении, установке или удалении атрибута.

Декорированные методы могут быть использованы для достижения различных целей, таких как доступ к класс-уровню, расширение функциональности объекта и управление доступом к атрибутам.

#CODERIKK #GIT #Вопросы #Собеседование
🔥21
Вопросы с собеседований #15🙋🏼‍♂️

Что такое итератор и генератор?

🔸Итератор (Iterator) — это объект, который возвращает свои элементы по одному за раз.

🔹Он должен иметь метод next(), который возвращает следующий элемент и вызывает исключение StopIteration, когда элементы закончились. Итератор также может быть написан с помощью генераторов.

🔸Еще один способ создания итераторов в Python — использование генераторов. Генератор — это функция, которая возвращает итерируемый объект (такой, как список или кортеж). Вместо того, чтобы возвращать все элементы сразу, генератор возвращает элементы по одному по мере необходимости.

#CODERIKK #GIT #Вопросы #Собеседование
1🔥1
Вопросы с собеседований #16🙋🏼‍♂️

Что такое генератор? Чем отличается от итератора?


🔸Генератор – это функция, которая использует ключевое слово yield для возврата итератора.

🔹Генератор может быть использован для создания последовательности значений, которые генерируются в момент обращения к ним, что позволяет эффективно использовать память и ускоряет выполнение программы. Короче, генератор основан на тех самых “ленивых” (отложенных) вычислениях.

🔸Отличие генератора от итератора заключается в том, что итератор используется для обхода коллекции (например, списка) до тех пор, пока все элементы не будут перебраны, а генератор используется для создания последовательности значений.

🔹Итераторы также могут быть созданы как классы, которые реализуют методы iter() и
next(), в то время как генераторы создаются при помощи функций и используют ключевое слово yield.

#CODERIKK #GIT #Вопросы #Собеседование
🔥21
Вопросы с собеседований #17🙋🏼‍♂️

Для чего используется ключевое слово yield?


🔸Ключевое слово yield используется для создания генераторов.

🔸Генератор – это функция, которая может возвращать последовательность значений используя инструкции yield вместо return. При каждом вызове инструкции yield генератор возвращает значение, после чего сохраняет свое состояние и приостанавливает свое выполнение до следующего вызова.

🔹Это позволяет генерировать последовательности значений без необходимости создания и хранения всех значений в памяти, что может быть особенно полезно при работе с большими объемами данных. Кроме того, генераторы являются итерируемыми и могут использоваться в циклах for.

#CODERIKK #GIT #Вопросы #Собеседование
🔥21