TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #25 · 24 јан.

В предыдущем посте⬆️ был пример кеширования функции. В стандартной библиотеке есть еще один способ, но для классов. Это functools.cached_property (Python3.8+). Логика работы точно такая же, но: - он предназначен только для метода класса. - аналогичен декоратору property, то есть мы получим не функцию а свойство класса. - не принимает аргументов (кроме self), так же как и property. - кеш сохраняет в атрибутах класса (внутри ˍˍdictˍˍ). Эдакий частный случай lru_cache для класса. В результате, вместо такой записи class MyClass: @property @functools.lru_cache(maxsize=1) def value(self): return 123 мы можем записать более красиво и адаптированно для property from functools import cached_property class MyClass: @cached_property def value(self): return 123 Помимо более логичной записи, этот декоратор решает еще ряд проблем, возникающих при декорирвовании свойств классов через lru_cache. Так что в таких случаях его использование не то чтобы желательно, а обязательно! #tricks

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #tricks

当前筛选 #tricks清除筛选
sudo recast

@sudo_recast · Post #918 · 17.04.2025 г., 09:47

A useful command when you encounter conflicts while cherry-picking: tig HEAD $(git rev-parse CHERRY_PICK_HEAD 2>/dev/null) -- $(git diff --name-only --diff-filter=U | head -1) #tricks@sudo_recast

Hashtags