classmethod and staticmethod are very similar. both are called by class but classmethod get passed class object as first argument(convention is to call it cls)

class c:
    @staticmethod
    def stmethod(arg):
        print(arg)

    @classmethod
    def clsmethod(cls, args):
        print(cls, args)

c.stmethod("static method")
c.clsmethod("class method")