Python方法的延迟加载的示例代码


Posted in Python onDecember 18, 2017

数据挖掘的过程中,数据进行处理是一重要的环节,我们往往会将其封装成一个方法,而有的时候这一个方法可能会被反复调用,每一次都对数据进行处理这将是一个很耗时耗资源的操纵,那么有没有办法将计算后的结果 缓存 起来达到 调用一次,处处运行 的效果,经过一番研究在 lazy_object_proxy/utils.py 中发现了一段代码,详见lazy_object_proxy 。

class cached_property(object):
  def__init__(self, func):
    self.func = func

  def__get__(self, obj, cls):
    if obj is None:
      return self
    value = obj.__dict__[self.func.__name__] = self.func(obj)
    return value

那么之后该怎么使用呢?下面给出了一个简单的例子:

class Test(object):
  def__init__(self,value):
    self.value = value;
@cached_property
  def display(self):
    #create expensive object
    print "some complicated compute here"
    return self.value

下面是结果

>> t = Test(1000)
>>t.display
some complicated compute here
1000
>>t.display
1000

从上面结果可以看出,只打印出了一次 some complicated compute here ,即只调用了一次,也就达到了我们的目的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现的三层BP神经网络算法示例
Feb 07 Python
Python File readlines() 使用方法
Mar 19 Python
python使用tensorflow深度学习识别验证码
Apr 03 Python
Python语言快速上手学习方法
Dec 14 Python
python opencv实现证件照换底功能
Aug 19 Python
OpenCV哈里斯(Harris)角点检测的实现
Jan 15 Python
python 实现任务管理清单案例
Apr 25 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
Jun 04 Python
python爬取招聘要求等信息实例
Nov 20 Python
matplotlib之多边形选区(PolygonSelector)的使用
Feb 24 Python
Python制作春联的示例代码
Jan 22 Python
python实现双链表
May 25 Python
Python字符串拼接六种方法介绍
Dec 18 #Python
Python Socket使用实例
Dec 18 #Python
浅谈python数据类型及类型转换
Dec 18 #Python
Python字典,函数,全局变量代码解析
Dec 18 #Python
Python语言生成水仙花数代码示例
Dec 18 #Python
Python实现的双色球生成功能示例
Dec 18 #Python
Python实现的摇骰子猜大小功能小游戏示例
Dec 18 #Python
You might like
开源SNS系统-ThinkSNS
2008/05/18 PHP
php实现mysql数据库操作类分享
2014/02/14 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
8个PHP程序员常用的功能汇总
2014/12/18 PHP
微信公众平台实现获取用户OpenID的方法
2015/04/15 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
smarty学习笔记之常见代码段用法总结
2016/03/19 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
PHP随机数函数rand()与mt_rand()的讲解
2019/03/25 PHP
js实现页面转发功能示例代码
2013/08/05 Javascript
js 三级关联菜单效果实例
2013/08/13 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
js实现将选中内容分享到新浪或腾讯微博
2015/12/16 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
AngularJS基础 ng-disabled 指令详解及简单示例
2016/08/01 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
JS与CSS3实现图片响应鼠标移动放大效果示例
2018/05/04 Javascript
浅谈js中的bind
2019/03/18 Javascript
vue 实现路由跳转时更改页面title
2019/11/05 Javascript
Django后台获取前端post上传的文件方法
2018/05/28 Python
Python实现Event回调机制的方法
2019/02/13 Python
详解python爬虫系列之初识爬虫
2019/04/06 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
使用python自动追踪你的快递(物流推送邮箱)
2020/03/17 Python
python 基于wx实现音乐播放
2020/11/24 Python
Python 内存管理机制全面分析
2021/01/16 Python
Python中Qslider控件实操详解
2021/02/20 Python
伦敦最著名的老字号百货公司:Selfridges(塞尔福里奇百货)
2016/07/25 全球购物
澳大利亚最受欢迎的超级商场每日优惠:Catch
2020/11/17 全球购物
总经理司机岗位职责
2014/02/06 职场文书
乡镇党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
深入开展党的群众路线教育实践活动心得体会
2014/11/05 职场文书
护士自我推荐信范文
2015/03/24 职场文书