91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python裝飾器功能介紹

發布時間:2021-09-03 14:41:56 來源:億速云 閱讀:140 作者:chen 欄目:開發技術

這篇文章主要介紹“Python裝飾器功能介紹”,在日常操作中,相信很多人在Python裝飾器功能介紹問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python裝飾器功能介紹”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

示例:尋找寶藏。在一個嵌套元組tuple或列表list中尋找元素'Gold Coin'

import time
from functools import lru_cache
def find_treasure(box):
 for item in box:
  if isinstance(item, (tuple, list)):
   find_treasure(item)
  elif item == 'Gold Coin':
   print('Find the treasure!')
   return True
start = time.perf_counter()
find_treasure(('sth', 'sth', 'sth',
    ('Bad Coin', 'normal coin', 'fish', 'sth', 'any sth'),
    ('Bad Coin', 'normal coin', 'fish', 'sth', 'any sth'),
    'Gold Coin', ))
end = time.perf_counter()
run_time_without_cache = end - start
print('在沒有Cache的情況下,運行花費了{} s。'.format(run_time_without_cache))
@lru_cache()
def find_treasure_quickly(box):
 for item in box:
  if isinstance(item, (tuple, list)):
   find_treasure(item)
  elif item == 'Gold Coin':
   print('Find the treasure!')
   return True
start = time.perf_counter()
find_treasure_quickly(('sth', 'sth', 'sth',
      ('Bad Coin', 'normal coin', 'fish', 'sth', 'any sth'),
      ('Bad Coin', 'normal coin', 'fish', 'sth', 'any sth'),
      'Gold Coin', ))
end = time.perf_counter()
run_time_with_cache = end - start
print('在有Cache的情況下,運行花費了{} s。'.format(run_time_with_cache))
print('有Cache比沒Cache快{} s。'.format(float(run_time_without_cache-run_time_with_cache)))

最終輸出

Find the treasure!
在沒有Cache的情況下,運行花費了0.0002182829999810565 s。
Find the treasure!
在有Cache的情況下,運行花費了0.00011638000000857573 s。
有Cache比沒Cache快0.00010190299997248076 s。

注記:運行這個示例時我的電腦配置如下

CPU:AMD Ryzen 5 2600
RAM:Kingston HyperX 8Gigabytes 2666

約使用7個月。

這個裝飾器可以在函數運行時記錄它的輸入值與運行結果。當元組('Bad Coin', 'normal coin', 'fish', 'sth', 'any sth')出現第二次時,加了這個裝飾器的函數find_the_treasure_quickly不會再次在遞歸時對這個元組進行查找,而是直接在“備忘錄”中找到運行結果并返回!

到此,關于“Python裝飾器功能介紹”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

基隆市| 宁蒗| 麟游县| 莱西市| 枣阳市| 内黄县| 邢台县| 清水河县| 麟游县| 光泽县| 龙南县| 河津市| 英吉沙县| 乐平市| 康定县| 黔西| 沁水县| 平远县| 筠连县| 灵武市| 古浪县| 专栏| 罗城| 虎林市| 鹤峰县| 内黄县| 修文县| 黔江区| 商洛市| 日喀则市| 韶关市| 奉化市| 保德县| 祥云县| 济宁市| 同仁县| 仙居县| 南岸区| 卢龙县| 清远市| 麻江县|