导语:
本文主要介绍了关于python3中的cached_property函数是什么?的相关知识,希望可以帮到处于编程学习途中的小伙伴
高阶函数我很少给大家介绍,但是既然大家都学会了
Python出现这么久,应该对程序有一定的了解,所以现在提前给大家介绍一下,以及后面大家经常会遇到的高阶函数中常用的函数,比如cached_property function我们接下来会告诉大家,如果有深入研究的朋友应该知道这个,不知道也没关系,一起来看看吧~
这个函数
与
property()类似,但增加了缓存,对于计算复杂的属性很有用。
举例如下:
# 在没有cached_property之前定义类属性
class DataSet:
def __init__(self):
self._data = None
@property
def data(self):
print('开始计算数据')
if not self._data:
# 计算data数据
self._data = 10 * 10
print('计算data数据')
return self._data
obj = DataSet()
print(obj.data)
# 输出
开始计算数据
计算data数据
100
print(obj.data)
# 输出
开始计算数据
100
使用变量记录属性数据,属性计算时进行判断,防止多次计算
from functools import cached_property
class DataSet:
@cached_property
def data(self):
print('开始计算数据')
return 10 * 10
obj = DataSet()
print(obj.data)
# 输出:
开始计算数据
100
print(obj.data)
# 输出:
100
注意:不支持
python中的异步编程:asyncio。
好了,上面已经教你如何使用这个功能了。如果你现在需要使用这个功能,可以按照上面的教程来学习。
~
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python open函数出现中文乱码怎么解决11/06
- ♥ 在 python 中创建 numpy 数组的方法有哪些?11/19
- ♥ 什么是python变量范围?10/25
- ♥ python shell脚本中有哪些功能?12/21
- ♥ 如何用python写汉字09/17
- ♥ python中几个__开头的方法说明10/06
内容反馈