知行编程网知行编程网  2023-01-04 00:30 知行编程网 隐藏边栏  7 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于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。



好了,上面已经教你如何使用这个功能了。如果你现在需要使用这个功能,可以按照上面的教程来学习。

~

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享