static методы и classmethod методы в python, различия между ними и примеры использования
1. @staticmethod
@staticmethodПример
class MathUtils:
@staticmethod
def add(a, b):
return a + b
print(MathUtils.add(5, 3)) # 8
obj = MathUtils()
print(obj.add(10, 7)) # 172. @classmethod
@classmethodПример
Ключевые различия
Когда использовать?
Пример с @classmethod — альтернативный конструктор для тестовых данных
@classmethod — альтернативный конструктор для тестовых данныхПример с @staticmethod — вспомогательная функция для валидации
@staticmethod — вспомогательная функция для валидацииLast updated