Тогда я написал небольшой дескриптор:
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 # вернёт имя класса
2 коммент.:
staticmethod не кошерен?
нет он не решает проблему:
1 не передаёт класс;
2 не делает свойство;
Отправить комментарий