typing_example.py
· 548 B · Python
Raw
from typing import Any, Dict, List, Optional, Tuple, Union
# 函式使用型別註解
def process_data(
data: List[Dict[str, Union[int, float]]],
metadata: Optional[Dict[str, Any]] = None
) -> Tuple[int, float]:
"""計算資料的總和與平均值"""
total = sum(item["value"] for item in data)
avg = total / len(data) if data else 0
return total, avg
# 測試資料
sample_data = [{"value": 10}, {"value": 20}, {"value": 30}]
result = process_data(sample_data)
print(f"總和: {result[0]}, 平均值: {result[1]:.2f}")
| 1 | from typing import Any, Dict, List, Optional, Tuple, Union |
| 2 | |
| 3 | # 函式使用型別註解 |
| 4 | def process_data( |
| 5 | data: List[Dict[str, Union[int, float]]], |
| 6 | metadata: Optional[Dict[str, Any]] = None |
| 7 | ) -> Tuple[int, float]: |
| 8 | """計算資料的總和與平均值""" |
| 9 | total = sum(item["value"] for item in data) |
| 10 | avg = total / len(data) if data else 0 |
| 11 | return total, avg |
| 12 | |
| 13 | # 測試資料 |
| 14 | sample_data = [{"value": 10}, {"value": 20}, {"value": 30}] |
| 15 | result = process_data(sample_data) |
| 16 | |
| 17 | print(f"總和: {result[0]}, 平均值: {result[1]:.2f}") |
| 18 |