timmy / 使用 inspect 來獲取函式與類別的詳細資訊

0 вподобань
0 форк(-ів)
3 файл(-ів)
Остання активність 9 months ago
inspect 模組允許在執行時動態獲取函式、類別、模組的結構與資訊,適用於 除錯、程式碼分析、自動文件生成、動態調試 等場景。
1 import inspect
2
3 def example_function(a: int, b: str = "default") -> bool:
4 """示範函式,回傳 True 或 False"""
5 return bool(a)
6
7 # 獲取函式參數
8 signature = inspect.signature(example_function)
9 print(f"函式簽名: {signature}")

timmy / 使用 traceback 來捕捉與記錄異常

0 вподобань
0 форк(-ів)
1 файл(-ів)
Остання активність 9 months ago
traceback 模組可用於捕捉、格式化和記錄 Python 例外發生時的詳細資訊,有助於錯誤診斷與日誌記錄。
1 import traceback
2
3 def faulty_function():
4 return 1 / 0 # 這將觸發 ZeroDivisionError
5
6 try:
7 faulty_function()
8 except Exception as e:
9 error_message = f"Exception occurred: {str(e)}"
10 stack_trace = traceback.format_exc()

timmy / LoggingMixin 日誌功能擴展

0 вподобань
0 форк(-ів)
1 файл(-ів)
Остання активність 10 months ago
此 Mixin 類別為 Python 類別提供簡單的日誌紀錄功能,可用於追蹤物件的行為變化,適用於擴展任何需要日誌記錄的類別,如用戶管理、系統監控等應用。
1 import datetime
2
3 class LoggingMixin:
4 """ 提供日誌功能的 Mixin 類別 """
5
6 def log(self, message):
7 """ 簡單的日誌紀錄方法 """
8 timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
9 print(f"[{timestamp}] {self.__class__.__name__}: {message}")

timmy / 錯誤與除錯輸出配置

1 вподобань
0 форк(-ів)
2 файл(-ів)
Остання активність 10 months ago
此程式使用 pretty_errors 改善錯誤輸出,並使用 icecream (ic) 進行簡潔的除錯訊息輸出,方便開發人員快速定位錯誤與分析變數內容,提高程式除錯效率。
1 import pretty_errors
2 from icecream import ic
3
4
5 def configure_pretty_errors() -> None:
6 """
7 配置 pretty_errors 庫,用於更好的錯誤輸出。
8
9 不需要任何參數。
10 """

timmy / 使用 icecream 進行偵錯並透過上下文管理控制輸出

0 вподобань
0 форк(-ів)
1 файл(-ів)
Остання активність 10 months ago
這段 Python 程式碼 使用 contextlib.contextmanager 來建立一個 自訂的上下文管理器 (ic_disabled()),用於 暫時停用 icecream (ic) 的輸出,並在 離開上下文後復原原始狀態。
1 # 引用python內建模組contextlib中的contextmanager
2 from contextlib import contextmanager
3
4 # 將icecream模組簡稱為ic
5 from icecream import ic # 引用icecream模組
6
7 # 設定icecream的輸出選項,包含上下文
8 ic.configureOutput(includeContext=True)
9
10 # 定義ic_disabled函式為一個上下文管理器

timmy / 使用 pretty_errors 美化 Python 錯誤訊息

0 вподобань
0 форк(-ів)
1 файл(-ів)
Остання активність 10 months ago
此程式透過 pretty_errors 讓錯誤訊息更易讀,並觸發除零錯誤 (ZeroDivisionError),適用於開發除錯與錯誤診斷。
1 import pretty_errors
2
3
4 def division_by_zero():
5 1 / 0
6
7
8 if __name__ == "__main__":
9 division_by_zero()
Новіше Пізніше