🦒 【Python試験】11章:標準ライブラリめぐり─PartII
作成日: 2022/04/12
0

Python3エンジニア認定試験
今回は11章です!













マルチスレッド:threading

リソースを効率的に使うプログラムを書ける
<メリット>
・複数のCPUをフルに使う
・ファイルの入出力待ち時間を有効利用
<デメリット>
・バグが混入しやすくなる
・プログラムの可読性が落ちやすい

ログ取り:logging

問題が発生した時の証拠を残す
<メリット>
・バグの原因が見つけやすい
・ログは標準エラー出力。標準出力と分離可

<デメリット>
・適切なログを残すのが難しい
・大きなループ内でログを出すと大量のログを生み、
ログファイルが大きくなる

collectionモジュールのdeque

両端のリストへのアクセスを高速化
通常のリストと同様に使うことができる
<メリット>
・左端へのappendやpopをより高速に
・右端へのアクセスも効率的

<デメリット>
・両端以外のアクセスが遅い

>>>from collections import deque
>>>d = deque(["task1", "task2"])
>>>d.append("task3")

ソート済みのリストへの処理:bisect

ソートを毎回実行する必要がなくなる
<メリット>
・短いコードで書くことができる
<デメリット>
・ソート済みの必要がある
・知らない人が多い

>>>import bisect
>>>scores = [1, 2, 4]
>>>bisect.insort(scores, 3)
>>>scores
[1,2,3,4]

ヒープ:heapq

最小値が常に位置ゼロに入る
特定の条件下で有効。汎用的ではない。
<メリット>
・完全なソートが不要
最小値へのアクセスが高速

<デメリット>
・効率面からソートの代替にならない

10進数の浮動小数点計算:decimal

手計算と一致させることができる
<メリット>
・2進数の浮動小数点による計算誤差がなくなる
・丸め規則を厳密に守ることができる

>>>from decimal import Decimal
>>>0.70 * 1.05
0.735
>>>round(0.70 * 1.05, 2)
0.73
>>>round(Decimal('0.70') * Decimal('1.05'), 2)
Decimal('0.74')

感想

この章では、少し使用頻度が少ない標準ライブラリについて、
メリット・デメリットを併せて学習しました。
ライブラリを使いこなすには、これらを踏まえて検討できるようにならないといけないのですね。

出典

データサイエンティストgepuroさん
「Python3エンジニア認定基礎試験 合格への勉強方法」
https://www.youtube.com/watch?v=BUzFIGyIojg&list=PLO-KH_xqEh8FHpIUXWHVJnJLXi6XO7BF


Python・Java・C#を学びます。