国产探花免费观看_亚洲丰满少妇自慰呻吟_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 ,即只調用了一次,也就達到了我們的目的。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邯郸市| 大厂| 绵竹市| 清镇市| 佛教| 怀远县| 沙湾县| 白玉县| 婺源县| 宁海县| 曲靖市| 江津市| 犍为县| 台江县| 彰化县| 诸城市| 拜泉县| 晴隆县| 宁河县| 布尔津县| 石阡县| 城固县| 休宁县| 陆丰市| 专栏| 正蓝旗| 平山县| 定州市| 清徐县| 芮城县| 大港区| 本溪| 射洪县| 新田县| 武义县| 达尔| 府谷县| 平陆县| 彩票| 曲松县| 曲松县|