国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python方法的延遲加載的示例代碼

2020-02-16 11:09:53
字體:
來源:轉載
供稿:網友

數據挖掘的過程中,數據進行處理是一重要的環節,我們往往會將其封裝成一個方法,而有的時候這一個方法可能會被反復調用,每一次都對數據進行處理這將是一個很耗時耗資源的操縱,那么有沒有辦法將計算后的結果 緩存 起來達到 調用一次,處處運行 的效果,經過一番研究在 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.displaysome complicated compute here1000>>t.display1000

從上面結果可以看出,只打印出了一次 some complicated compute here ,即只調用了一次,也就達到了我們的目的。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 项城市| 卓资县| 武义县| 望谟县| 简阳市| 兴宁市| 永善县| 辉县市| 宁河县| 陇西县| 永嘉县| 綦江县| 堆龙德庆县| 四平市| 成武县| 阳朔县| 贞丰县| 天水市| 平湖市| 财经| 宁海县| 航空| 龙州县| 同江市| 泰和县| 高邑县| 潜江市| 达日县| 洪泽县| 桂平市| 澄城县| 岗巴县| 苏州市| 枣庄市| 宜城市| 龙州县| 如东县| 新兴县| 井陉县| 汉川市| 正定县|