среда, 19 августа 2009 г.

classproperty - свойство класса

Иногда нужно чтобы у класса было некое свойство, а декоратор property в данном случае не подходит.
Тогда я написал небольшой дескриптор:


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 # вернёт имя класса
 
Салфетница изготовление. Продажа салфеток оптом. Скатерть салфетка купить.