Info
Відкрити сторінку на телефоні

У чому різниця між staticmethod та classmethod?

staticmethod у Python є методом, який не має доступу до класу або екземпляра класу.

Він працює як звичайна функція, але визивається через клас або екземпляр.

Натомість, classmethod має доступ до класу через його перший аргумент, що дозволяє йому працювати з атрибутами класу.

                        
class MyClass:
    
    @staticmethod
    def static_method(arg1, arg2):
        # implementation
        pass
    
    @classmethod
    def class_method(cls, arg1, arg2):
        # implementation
        pass