[Python][裝飾器]計算函式(CT)處理時間

更新於 發佈於 閱讀時間約 2 分鐘


在開發上,常常需要分析每一個函式處理時間,看是不是哪邊可以優化一下,把常用的功能包裝成裝飾器來做使用。

CT裝飾器

import time
def performance_decorator(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"{func.__name__} 執行時間:{end_time - start_time} 秒")
return result
return wrapper

調用

@performance_decorator
def slow_function():
time.sleep(2)
print("Function executed")

slow_function()


詳細裝飾器介紹 在我另外一篇文章有提到

[Python基礎]淺談裝飾器 decorator


留言
avatar-img
留言分享你的想法!
avatar-img
螃蟹_crab的沙龍
150會員
297內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。 興趣是攝影,踏青,探索未知領域。 人生就是不斷的挑戰及自我認清,希望老了躺在床上不會後悔自己什麼都沒做。
螃蟹_crab的沙龍的其他內容
2025/04/25
在 Python 中,字典(dict)是非常常用的資料結構,用來儲存 key-value 配對。而在操作字典時,.setdefault() 是一個常被忽略但非常實用的方法。 這篇文章會完整介紹 .setdefault() 的語法、用途、與實務範例,幫助你更有效率地處理字典資料。 什麼是 .se
Thumbnail
2025/04/25
在 Python 中,字典(dict)是非常常用的資料結構,用來儲存 key-value 配對。而在操作字典時,.setdefault() 是一個常被忽略但非常實用的方法。 這篇文章會完整介紹 .setdefault() 的語法、用途、與實務範例,幫助你更有效率地處理字典資料。 什麼是 .se
Thumbnail
2025/01/30
Python 程式在電腦上的執行流程 當我們在電腦上執行 Python 程式時,主要經歷以下幾個步驟: 1. 編寫 Python 程式碼 開發者使用文字編輯器或 IDE(如 VS Code、PyCharm)撰寫 Python 程式,並將其存為 .py 檔案。 例如,一個簡單的 Python
Thumbnail
2025/01/30
Python 程式在電腦上的執行流程 當我們在電腦上執行 Python 程式時,主要經歷以下幾個步驟: 1. 編寫 Python 程式碼 開發者使用文字編輯器或 IDE(如 VS Code、PyCharm)撰寫 Python 程式,並將其存為 .py 檔案。 例如,一個簡單的 Python
Thumbnail
2024/10/17
在一個典型的程式專案中,UI、Controller 和 Main 的分工通常遵循 MVC 模型(Model-View-Controller) 的架構,這是一種常見的設計模式,能夠將應用程式的邏輯和界面進行分離。 大部分典型的程式專案設計: UI (View):專注於用戶界面,展示數據,並將用
Thumbnail
2024/10/17
在一個典型的程式專案中,UI、Controller 和 Main 的分工通常遵循 MVC 模型(Model-View-Controller) 的架構,這是一種常見的設計模式,能夠將應用程式的邏輯和界面進行分離。 大部分典型的程式專案設計: UI (View):專注於用戶界面,展示數據,並將用
Thumbnail
看更多
你可能也想看
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
2025 vocus 推出最受矚目的活動之一——《開箱你的美好生活》,我們跟著創作者一起「開箱」各種故事、景點、餐廳、超值好物⋯⋯甚至那些讓人會心一笑的生活小廢物;這次活動不僅送出了許多獎勵,也反映了「內容有價」——創作不只是分享、紀錄,也能用各種不同形式變現、帶來實際收入。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
前幾篇討論到各種裝飾器的用法,本文將介紹另外一種裝飾器,可以將方法轉換成屬性來使用。 property也可以動態的取出物件的值,隨著時間或其他運算改變所產生的值,讓我們繼續往下看更多介紹吧。
Thumbnail
前幾篇討論到各種裝飾器的用法,本文將介紹另外一種裝飾器,可以將方法轉換成屬性來使用。 property也可以動態的取出物件的值,隨著時間或其他運算改變所產生的值,讓我們繼續往下看更多介紹吧。
Thumbnail
當你想讓原本函式新增其他功能,又不想更動原本函式時,Python提供了一種強大而靈活的工具,那就是裝飾器。 但對於新手來說這個裝飾器,非常抽象難以理解,讓我們繼續往下看,慢慢的抽絲剝繭吧。 在 Python 中,使用「@」當做裝飾器使用的語法糖符號
Thumbnail
當你想讓原本函式新增其他功能,又不想更動原本函式時,Python提供了一種強大而靈活的工具,那就是裝飾器。 但對於新手來說這個裝飾器,非常抽象難以理解,讓我們繼續往下看,慢慢的抽絲剝繭吧。 在 Python 中,使用「@」當做裝飾器使用的語法糖符號
Thumbnail
寫程式不僅只是能動, 更要能夠看得懂, 如果我們的程式碼可以更貼近人類能懂的語言時, 後續的維護肯定會大幅度的減少成本, 想想我們回頭看看三個月前的程式碼是什麼感受吧…😫😫😫, 為了避免這樣的窘境, 我們還真的應該好好的為我們的程式碼負責, 除了「【🔒 Python 先修班】培養良好的Cod
Thumbnail
寫程式不僅只是能動, 更要能夠看得懂, 如果我們的程式碼可以更貼近人類能懂的語言時, 後續的維護肯定會大幅度的減少成本, 想想我們回頭看看三個月前的程式碼是什麼感受吧…😫😫😫, 為了避免這樣的窘境, 我們還真的應該好好的為我們的程式碼負責, 除了「【🔒 Python 先修班】培養良好的Cod
Thumbnail
撰寫Python的朋友都知道multithread/multiprocess能為我們帶來效能的改進,減少硬體資源的閒置,但在撰寫的過程中常常會發現到我們所設計的工作池模式會需要將「待辦清單」的工作項目當成參數傳遞進去執行, 除了「待辦清單」之外, 其餘的參數基本上都是固定的, 基於這樣的需求之下
Thumbnail
撰寫Python的朋友都知道multithread/multiprocess能為我們帶來效能的改進,減少硬體資源的閒置,但在撰寫的過程中常常會發現到我們所設計的工作池模式會需要將「待辦清單」的工作項目當成參數傳遞進去執行, 除了「待辦清單」之外, 其餘的參數基本上都是固定的, 基於這樣的需求之下
Thumbnail
👨‍💻簡介 要處理日期和時間,就必須知道這個Package -> time,Go提供了內建的timePackage。 今天主要介紹time的功能,包括時間操作、格式化等等,以及常見用法。
Thumbnail
👨‍💻簡介 要處理日期和時間,就必須知道這個Package -> time,Go提供了內建的timePackage。 今天主要介紹time的功能,包括時間操作、格式化等等,以及常見用法。
Thumbnail
我們在「【Python 軍火庫🧨 - tqdm】讓我們為工作加上進度條吧」介紹了tqdm進度條的基本用法, 基本上的使用案例都沒什麼問題, 通常也都是以「數量」為單位進行進度的回報, 但假設我們今天處理的任務是關於音訊的部份呢? 這時候更新的單位就需要從「數量」轉為「時間」了, 那tqdm有提供這
Thumbnail
我們在「【Python 軍火庫🧨 - tqdm】讓我們為工作加上進度條吧」介紹了tqdm進度條的基本用法, 基本上的使用案例都沒什麼問題, 通常也都是以「數量」為單位進行進度的回報, 但假設我們今天處理的任務是關於音訊的部份呢? 這時候更新的單位就需要從「數量」轉為「時間」了, 那tqdm有提供這
Thumbnail
我們在安裝程式的時候, 通常安裝包都會有進度條的顯示, 雖然那是GUI的部份, 但命令列是否也可以這樣呢? 答案是可以的, 在Python就有這麼一套工具專門在顯示我們程式運行的進度, 只要掌握如何回報進度、更新進度, 接下來渲染與互動的部份就交由tqdm這套件去處理即可。 這會對於我們在掌握
Thumbnail
我們在安裝程式的時候, 通常安裝包都會有進度條的顯示, 雖然那是GUI的部份, 但命令列是否也可以這樣呢? 答案是可以的, 在Python就有這麼一套工具專門在顯示我們程式運行的進度, 只要掌握如何回報進度、更新進度, 接下來渲染與互動的部份就交由tqdm這套件去處理即可。 這會對於我們在掌握
Thumbnail
在這一課中,我們會介紹Python的一些進階特性,包括裝飾器、生成器和上下文管理器。 裝飾器 (Decorators) 裝飾器是一種可以修改其他函數的功能的函數。它們可以幫助你使代碼更簡潔,更Pythonic。
Thumbnail
在這一課中,我們會介紹Python的一些進階特性,包括裝飾器、生成器和上下文管理器。 裝飾器 (Decorators) 裝飾器是一種可以修改其他函數的功能的函數。它們可以幫助你使代碼更簡潔,更Pythonic。
Thumbnail
大家好,歡迎來到我的學習筆記系列,今天我要跟大家分享一下 Python 的 datetime 模組,這是一個非常實用的模組,可以幫助我們處理日期和時間相關的問題。 datetime 模組提供了四個主要的類別,分別是 date、time、datetime 和 timedelta。
Thumbnail
大家好,歡迎來到我的學習筆記系列,今天我要跟大家分享一下 Python 的 datetime 模組,這是一個非常實用的模組,可以幫助我們處理日期和時間相關的問題。 datetime 模組提供了四個主要的類別,分別是 date、time、datetime 和 timedelta。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News