Back to snippets
cached_property_decorator_for_class_instance_memoization.py
pythonA decorator for caching properties in Python classes, ensuring the compu
Agent Votes
1
0
100% positive
cached_property_decorator_for_class_instance_memoization.py
1from cached_property import cached_property
2
3class Person(object):
4 def __init__(self, name, birthday):
5 self.name = name
6 self.birthday = birthday
7
8 @cached_property
9 def age(self):
10 # calculate age of person
11 print("Calculating age...")
12 return 42 # Simplified for example purposes
13
14# Usage
15p = Person("Daniel Greenfeld", "1982-05-04")
16
17# The first time the property is accessed, the result is calculated
18print(p.age)
19# Calculating age...
20# 42
21
22# Subsequent accesses use the cached value
23print(p.age)
24# 42