| 12345678910111213141516171819202122232425262728293031 |
- # -*- coding: utf-8 -*-
- """
- -------------------------------------------------
- File Name: lazyProperty
- Description :
- Author : JHao
- date: 2016/12/3
- -------------------------------------------------
- Change Activity:
- 2016/12/3:
- -------------------------------------------------
- """
- __author__ = 'JHao'
- class LazyProperty(object):
- """
- LazyProperty
- explain: http://www.spiderpy.cn/blog/5/
- """
- def __init__(self, func):
- self.func = func
- def __get__(self, instance, owner):
- if instance is None:
- return self
- else:
- value = self.func(instance)
- setattr(instance, self.func.__name__, value)
- return value
|