You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							12 lines
						
					
					
						
							343 B
						
					
					
				
			
		
		
	
	
							12 lines
						
					
					
						
							343 B
						
					
					
				| class lazy_property():
 | |
|   """Defines a property whose value will be computed only once and as needed.
 | |
| 
 | |
|      This can only be used on instance methods.
 | |
|   """
 | |
|   def __init__(self, func):
 | |
|     self._func = func
 | |
| 
 | |
|   def __get__(self, obj_self, cls):
 | |
|     value = self._func(obj_self)
 | |
|     setattr(obj_self, self._func.__name__, value)
 | |
|     return value
 | |
| 
 |