3-3. Python 3 エンジニア認定実践試験 対策

実践試験では、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処理

コメント

タイトルとURLをコピーしました