timmy / 使用 funcy 裝飾器檢查作業系統類型
0 j'aimes
0 forks
1 fichiers
Dernière activité 10 months ago
這段 Python 程式碼利用 funcy 模組的裝飾器來 檢查目前作業系統,從而限制某些函式僅在特定平台上執行。具體來說,need_mac、need_linux、need_windows 與 need_unix 分別用來檢查是否在 macOS、Linux、Windows 或 Unix(macOS 或 Linux)系統上執行;函式 foo() 被 @need_unix 裝飾,僅允許在 Unix 系統上執行,而函式 bar() 則僅允許在 Windows 系統上執行。主程式透過 try-except 捕捉例外,若目前作業系統不符合要求,則輸出相應錯誤訊息。這樣的設計有助於確保平台專屬功能在正確的環境中執行,避免跨平台錯誤。
| 1 | import platform |
| 2 | from funcy import decorator |
| 3 | |
| 4 | @decorator |
| 5 | def need_mac(call): |
| 6 | """檢查系統是否為 macOS,若不是則拋出異常。""" |
| 7 | if platform.system() != "Darwin": |
| 8 | raise Exception("This functionality is only supported in macOS") |
| 9 | return call() |
timmy / 使用 funcy.count 進行無限計數迴圈
0 j'aimes
0 forks
1 fichiers
Dernière activité 10 months ago
| 1 | from funcy import count # 匯入 funcy 模組中的 count 函式 |
| 2 | |
| 3 | # 使用 count 函式生成無限迴圈,從 0 開始計數 |
| 4 | for i in count(): |
| 5 | print(i, end="\r") # 將目前的計數 i 印出,並利用Enter符 \r 讓每次印出的數字覆蓋前一個數字的位置 |
| 6 | if i >= 100_000_000: # 當計數超過或等於 100,000,000 時 |
| 7 | break # 跳出迴圈 |
timmy / 使用 funcy.flatten 展平巢狀列表
0 j'aimes
0 forks
1 fichiers
Dernière activité 10 months ago
此程式使用 funcy.flatten 函式,將多層巢狀列表展平成單一列表,適用於數據處理與資料結構轉換,提高數據操作的便利性。
| 1 | from funcy import flatten # 匯入 funcy 模組中的 flatten 函式 |
| 2 | |
| 3 | mylist = [[1, 2, 3], [2, 3, 4], [3, 4, 5]] # 定義一個包含多個子列表的列表 |
| 4 | |
| 5 | print(list(flatten(mylist))) # 將 mylist 中的多個子列表展平後轉換成列表並印出 |
timmy / 使用 funcy 裝飾器測量函式執行時間
0 j'aimes
0 forks
1 fichiers
Dernière activité 10 months ago
這段程式碼使用 funcy 模組的 print_durations 裝飾器,測量並印出 func 函式的執行時間,範例中透過簡單的迴圈模擬運算過程。
| 1 | from funcy import print_durations # 匯入 funcy 模組中的 print_durations 裝飾器 |
| 2 | |
| 3 | @print_durations # 裝飾器:用於計算函式執行時間並印出 |
| 4 | def func(): |
| 5 | """一個範例函式,使用範例裝飾器 print_durations 來印出其執行時間。""" |
| 6 | for i in range(10000): # 進行一個範例的迴圈計算 |
| 7 | pass |
| 8 | |
| 9 | func() # 呼叫函式 |
Plus récent
Plus ancien