> For the complete documentation index, see [llms.txt](https://igor-19.gitbook.io/qa/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://igor-19.gitbook.io/qa/avtomatizaciya-testirovaniya/python/oop-v-python-vo-vsekh-podrobnostyakh/keshirovanie-rezultata-vychislyaemykh-svoistv.md).

# Кеширование результата вычисляемых свойств

```python
class Person:
	def __init__(self, name, lastname):
		self._name = name
		self._lastname = lastname
		self._fullname = None  # для сохранения результата вычисления
		

	@property
	def name(self):
		return self._name
	
	@name.setter
	def name(self, value):
		self._name = value
		self._fullname = None

	@property
	def lastname(self):
		return self._lastname
	
	@lastname.setter
	def lastname(self, value):
		self._lastname = value
		self._fullname = None

	@property
	def full_name(self):
		# Проверяем и кешируем вычисляемое свойство
		if self._fullname is None:
			self._fullname = f"{self._name} {self._lastname}"
		return self._fullname
```
