Python | Вопросы собесов
13.4K subscribers
38 photos
4 videos
1 file
1.34K links
Cайт: easyoffer.ru
Реклама: @easyoffer_adv
ВП: @easyoffer_vp

Тесты t.me/+20tRfhrwPpM4NDQy
Задачи t.me/+nsl4meWmhfQwNDVi
Вакансии t.me/+cXGKkrOY2-w3ZTky
Download Telegram
Forwarded from Идущий к IT
Работаю над тем, чтобы адаптировать базу вопросов с тех. собесов под flash-карточки в anki. В итоге должен получится самый эффективный способ подготовки к тех. собесам

Пока что сделал только для python (файл для экспорта в сообщении) Паки карточек под другие профессии выложу на днях 🪙
Please open Telegram to view this post
VIEW IN TELEGRAM
👏19👍2🔥2
Forwarded from Идущий к IT
Python Developer.apkg
165.2 KB
Карточки для Anki
👍44
Что такое декоратор?
Вопрос спросят с вероятностью 36%

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

Основные особенности декораторов:

1️⃣ Преобразование функций: Декораторы могут изменять поведение функции, не изменяя её кода.

2️⃣ Повторное использование кода: Они позволяют использовать общий код в нескольких функциях, уменьшая дублирование.

3️⃣ Синтаксическое удобство: В Python декораторы могут быть применены к функции с использованием символа @, что делает код более читабельным и элегантным.

➡️ Примеры ответов
➡️ Список всех вопросов на Python Developer

🧩 Идущий | 🔐 Собесы | 🔐 Тестовые
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40🔥21👾1
Чем init() отличается от new() ?
Вопрос спросят с вероятностью 33%

Различие между init() и new() заключается в их роли при создании экземпляров классов.

__init__() – это инициализатор класса. Он вызывается, когда экземпляр класса уже создан, чтобы инициализировать его начальное состояние. Метод init() не возвращает ничего и используется для установки значений атрибутов объекта.

__new__() – это конструктор класса. Он фактически создаёт экземпляр класса и вызывается перед __init__(). Это статический метод, который должен возвращать новый созданный объект, и он используется в особых случаях, например, при создании экземпляров синглтонов или при наследовании от неизменяемых типов данных, как tuple.

Пример с
init()

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

class Person:
def __init__(self, name, age):
self.name = name
self.age = age

# Создание экземпляра класса Person
person1 = Person("Алексей", 30)

print(f"Имя: {person1.name}, Возраст: {person1.age}")

В этом примере init() используется для установки имени и возраста для каждого объекта Person. Это самый распространенный способ инициализации атрибутов в объектно-ориентированном программировании.

Пример с new()

new() используется реже, но его можно применять в специфических сценариях, например, для создания синглтонов (одиночек).

class Singleton:
_instance = None

def new(cls):
if cls._instance is None:
print("Создание экземпляра")
cls._instance = super(Singleton, cls).new(cls)
return cls._instance

# Создание экземпляров Singleton
singleton1 = Singleton()
singleton2 = Singleton()

print(singleton1 is singleton2) # Вернет True, так как оба объекта являются одним и тем же экземпляром

Здесь new() гарантирует, что класс Singleton создает только один экземпляр. При попытке создать новый объект этого класса, new() возвращает уже существующий экземпляр, если он есть, предотвращая создание новых экземпляров.

Примеры ответов
Список всех вопросов на Python Developer

🧩 Идущий | 🔐 Собесы | 🔐 Тестовые
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36💊1
Что такое контекстный менеджер ?
Спросят с вероятностью 43%

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

Чтобы понять, как работает контекстный менеджер, рассмотрим два ключевых метода, которые он должен реализовывать: enter и exit. Метод enter вызывается в начале блока кода, управляемого контекстным менеджером (обычно после ключевого слова with), и обычно используется для выделения ресурсов. Метод exit вызывается после окончания блока кода и обычно занимается очисткой ресурсов.

Пример контекстного менеджера, который управляет файлом:

class FileHandler:
def init(self, filename, mode):
self.filename = filename
self.mode = mode
self.file = None

def enter(self):
self.file = open(self.filename, self.mode)
return self.file

def exit(self, exc_type, exc_val, exc_tb):
if self.file:
self.file.close()

# Использование контекстного менеджера
with FileHandler('example.txt', 'w') as f:
f.write('Привет, мир!')

# После выхода из блока with файл автоматически закрывается


В этом примере FileHandler - это контекстный менеджер для работы с файлами. Когда начинается блок with, вызывается метод enter, который открывает файл. После завершения работы в блоке with автоматически вызывается метод exit, который закрывает файл. Это предотвращает ошибки, связанные с забытым закрытием файла, и делает код более надежным и читаемым.

Контекстные менеджеры широко используются в Python для управления ресурсами, их можно встретить в стандартной библиотеке (например, open для файлов), а также во многих сторонних библиотеках.

Кратко: Контекстный менеджер в Python - это способ управления ресурсами в блоке кода, обеспечивающий автоматическое выделение и освобождение ресурсов.

Примеры ответов
Список всех вопросов на Python Developer

🧩 Идущий | 🔐 Собесы | 🔐 Тестовые
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35