Есть два способа сделать это:
@staticmethod
def foo(): # No implicit parameter
print 'foo'
@classmethod
def foo(cls): # Class as implicit paramter
print cls
Разница в том, что статический метод вообще не имеет неявных параметров. Метод класса получает класс, к которому он вызывается, точно так же, как обычный метод получает экземпляр.
Какой из них вы используете, зависит от того, хотите ли вы, чтобы метод имел доступ к классу или нет.
Любой может быть вызван без экземпляра.