您好,登錄后才能下訂單哦!
小編給大家分享一下python3中的cached_property函數怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
這個函數與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。
以上是python3中的cached_property函數怎么用的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。