Встречается на 1% собеседований по Python
Как можно отменить создание экземпляра класса
В 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
интервью вопросы и ответы