Я могу создать статический метод и просто использовать if - else внутри... Но непонятно, почему бы мне не использовать общую инициализацию экземпляра для создания объектов. И если я хочу, чтобы это был единственный «действительный» способ создания экземпляров, мне нужно будет вызвать исключение внутри метода __init__.
Мне интересно, смогу ли я это сделать по-другому, используя __new__. Итак, я придумал что-то вроде этого (упрощенный пример):
Код: Выделить всё
class A:
n_contracts: int
def __new__(cls, cash: float, margin: float):
n_contracts = int(cash // margin)
if n_contracts
Подробнее здесь: [url]https://stackoverflow.com/questions/79312264/creating-class-instances-and-attributes-inside-new-method[/url]
Мобильная версия