cached_property() - 每个实例计算一次,作为属性缓存
项目描述
什么是
Python 3.8为functools添加了出色的描述符:cached_property。技术上,所有必需的API自Python 3.6以来都可用,但就是这样。
此包为Python 3.6和3.7回溯了此功能。
如何使用
from backports.cached_property import cached_property
然后Python 3.8文档将工作(因为代码更改很小)
将类的函数转换为属性,该属性值仅计算一次,然后作为正常属性缓存。类似于property,增加了缓存功能。对于其他情况下实际上是不可变的实例的昂贵计算属性很有用。
示例
class DataSet: def __init__(self, sequence_of_numbers): self._data = sequence_of_numbers @cached_property def stdev(self): return statistics.stdev(self._data) @cached_property def variance(self): return statistics.variance(self._data)
项目详情
关闭
backports.cached-property-1.0.2.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9306f9eed6ec55fd156ace6bc1094e2c86fae5fb2bf07b6a9c00745c656e75dd |
|
MD5 | 2de0257c18e50a8d189e93e8860aa674 |
|
BLAKE2b-256 | 08834cea5c665d2af765c02f7d8e8560b5918405c1d7d11ccfc60c4919c1cfd0 |
关闭
backports.cached-property-1.0.2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | baeb28e1cd619a3c9ab8941431fe34e8490861fb998c6c4590693d50171db0cc |
|
MD5 | 9b0a43c00e5bee52ddfc5d0677359d83 |
|
BLAKE2b-256 | ebae69e52acdcf381b108b36d989ea58656de4a9ab8863aba6176d80d01041df |