実践試験では、Python標準ライブラリの高度な活用法やモダンな記法が問われます。
高度な標準ライブラリ
itertools: 効率的なイテレータを生成(permutations(順列)、combinations(組み合わせ)など)functools: 高階関数操作(lru_cacheによるキャッシュ化、partialによる引数の固定)collections: 便利構造体(Counter(出現回数カウント)、defaultdict(デフォルト値付き辞書)、namedtuple)pathlib: オブジェクト指向なファイルパス操作(Path('dir') / 'file.txt')dataclasses:@dataclassデコレータによるボイラープレート(__init__,__repr__等)の自動生成
型ヒント(typing モジュール)
Python
from typing import Union, Optional, Callable
def process(data: Union[int, str], callback: Optional[Callable[[int], bool]] = None) -> bool:
# Union: 複数型の容認
# Optional: 特定型または None(Union[T, None] と同等)
return True
デコレータとジェネレータ(yield)
デコレータは関数を受け取り、機能を拡張した関数を返す仕組みです。
Python
# ジェネレータ関数 (yield)
def count_down(n):
while n > 0:
yield n
n -= 1
gen = count_down(3)
print(next(gen)) # 3 (メモリを消費せず1つずつ生成)
並行処理・並列処理
| ライブラリ | 仕組み | 適した処理 |
threading | マルチスレッド(GIL制約あり) | I/Oバウンド処理(Web通信・ファイル読み書き) |
multiprocessing | マルチプロセス(CPU核を活用) | CPUバウンド処理(重い数値計算・画像処理) |
asyncio | イベントループによる非同期処理 | 大規模な同時接続・非同期I/O処理 |

コメント