Код: Выделить всё
class MyClass():
a = None
b = None
def __init__(self, a, b):
self.a = a
self.b = b
@classmethod
def init_from(cls, c):
a = c + 3
b = c - 3
return cls(a, b)
obj = MyClass.init_from(3)
Обычно я добавляю к методу подчеркивание, чтобы указать, что его не следует использовать. Но поскольку для пользователей вполне естественно вызывать __init__ через MyClass(), здесь это невозможно.
Существует ли стандартный способ предупредить пользователей не использовать __init__ и оставить его для внутреннего использования, кроме документации?
Подробнее здесь: https://stackoverflow.com/questions/798 ... sed-by-the
Мобильная версия