Дисклаймер: Все права на данный материал принадлежат Хабрахабр / Лучшие за сутки / Посты и могут быть найдены по ссылкам ниже. Как часто вы пишете такие конструкции?
Это очень удобно, значение атрибута param при таком подходе не хранится напрямую в объекте, но и не вычисляется каждый раз. Вычисление происходит при первом обращении, и это значение сохраняется в объекте под временным именем _param. Если меняются условия, от которых зависит значение param, его можно удалить, и тогда оно снова вычислится при следующем обращении. Или можно сразу присвоить актуальное значение, если таковое известно. У этого кода есть и минусы: у объекта появляется лишний атрибут с именем _param; при каждом обращении к атрибуту вызывается метод param(), который делает проверку hasattr; получившийся код достаточно большой, особенно если таких атрибутов в классе несколько. Читать дальше → АВТОР: Хабрахабр / Лучшие за сутки / Посты http://habrahabr.ru/post/159099/ | |||
| |||
| |||
|
Sunday, November 18, 2012
Декоратор cached_property
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment