Встречается на собеседованиях • сегодня
Как можно отменить создание экземпляра класса
В Python можно отменить создание экземпляра класса через переопределение метода __new__ или вызов исключения в __init__.
1. Через __new__
Метод __new__ вызывается до __init__ и может вернуть None или другое значение вместо экземпляра:
python
class NoInstance:
def __new__(cls):
return None
obj = NoInstance() # obj будет None
text
**2. Через исключение в `__init__`**
Можно запретить создание объекта при определенных условиях:
```python
class Restricted:
def __init__(self):
raise ValueError("Создание экземпляра запрещено")
# Вызовет исключение:
# obj = Restricted()3. Абстрактный класс
Использование @abstractmethod из модуля abc также предотвращает создание экземпляров, если не реализованы все абстрактные методы.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы