Тогда я написал небольшой дескриптор:
class classproperty(object):
def __init__(self, func):
self.func = func
def __get__(self, instance, cls):
return self.func(cls)
Используется также как и декоратор property:
class A(object):
@classproperty
def name(cls):
return cls.__name__
A.name # вернёт имя класса