Я никогда не использовал @classmethod, и я не думаю ни о каких примерах, чтобы использовать его, я знаю, как он работает, но я не знаю, когда пришло время использовать его, например
class Example:
def __init__(self,param1,param2):
self.param1 = param1
self.param2 = param2
@classmethod
def my_method(cls,param1,param2):
return cls(param1,param2)
example = Example.my_method(1,2)
print(example)
выход:
<__main__.Example object at 0x02EC57D0>
Но почему бы не сделать это?
class Example:
def __init__(self,param1,param2):
self.param1 = param1
self.param2 = param2
def my_method(self,param1,param2):
return Example(param1,param2)
example = Example(1,2)
method = example.my_method(3,4)
print(method)
выход: * +1010 *
<__main__.Example object at 0x02EC57D0>
Это тот же результат, но он не приходит в голову, когда я мог бы использовать classmethod