Pythonエンジニア育成推進協会監修 Python実践レシピ

サポートページ

ダウンロード

サンプルコードのダウンロード

(2022年3月17日更新)

本書内に掲載しているサンプルコードを以下からダウンロードできます。圧縮ファイルになっていますので、解凍したうえでご利用ください。

ダウンロード
python実践レシピサンプルコード.zip

免責:本サンプルコードを使用することによって、使用者が受けたあらゆる不利益に対して、著者および技術評論社はその責任を負いません。

お詫びと訂正(正誤表)

本書の以下の部分に誤りがありました。ここに訂正するとともに、ご迷惑をおかけしたことを深くお詫び申し上げます。

(2022年6月17日最終更新)

P.51:コード冒頭「処理の実行時間を計測するコンテキストマネージャー」先頭行に以下1行を追加

誤
@contextlib.contextmanager
正
from time import time, sleep
@contextlib.contextmanager

(以下2022年3月14日更新)

P.9:本文9行目

誤 わかりくい場合
正 わかりにくい場合

P.14:仮想環境の無効化 コマンド画面

誤
$ python -V Pythonのバージョンが異なる
正
$ python -V システムのPythonのバージョンが表示される

P.36:本文 2行目

誤isual Studio
正Visual Studio

P.72:本文 2行目

誤(p.71)
正(p.208)

P.73:本文 2行目

誤 処理は一度しか実行されていません。変数に代入しただけで指定した回数分実行されているつもりが、実際は一度しか処理されていなかったということを防ぐために、
正 ジェネレーターオブジェクトが返されるのみで処理は実行されていません。 next()関数を使用することでyield文までの処理が一度実行されます。変数への代入や、 next()関数を一度呼び出しただけで指定した回数分実行されているつもりが、実際は処理されていなかったということを防ぐために、

P.73:「ジェネレーターを変数に代入したことで起こしやすいミス」の最終行

誤

>>> gen = multiplier()  # 変数に代入しただけではdb_update()は実行されない
正

>>> gen = multiplier()  # 変数に代入しただけではdb_update()は実行されない
>>> next(gen)  # db_update()が一度実行される

P.132:「表:フォーマットの指定方法一覧」の2行目

誤:^-30
正:-^30

P.198:bisect_left(a, x, lo=0, hi=len(a))の引数

誤
hi:検索開始終了を指定する。
正
hi:検索終了位置を指定する。

P.199:insort_left(a, x, lo=0, hi=len(a))の引数

誤
hi:検索開始終了を指定する。
正
hi:検索終了位置を指定する。

P.202:9.4.2  定数を呼び出すの「定数を呼び出す方法」5行目

誤
>>> Nengo(5)
正
>>> Nengo(3)

P.230:「表:BytesIOクラスのメソッド」内「read(size=-1)」の「戻り値」

誤
str
正
bytes

P.239:1行目

誤finallyを使ってsys.exit()が呼ばれる前に必要な処理を実行する
正finallyを使ってsys.exit()が呼ばれた後に必要な処理を実行する

P.239:10行目

誤withを使ってsys.exit()が呼ばれる前に必要な処理を実行する
正withを使ってsys.exit()が呼ばれた後に必要な処理を実行する

P.241:「表:ArgumentParserの初期化引数」内「fromfile_prefix_chars」の解説

誤引数をファイルに記述して読む込む際
正引数をファイルに記述して読み込む際

P.278:「表:pickleモジュールの主な関数」の「関数名」最終行

誤
encoding="ASCII", errors="strict", buffers=None
正
encoding="ASCII", errors="strict", buffers=None)

P.336:「14.4.1  Base64にエンコードする」の本文1行目、「b64encode(s, altchars=None)」の「引数」altchars、「b64encode(s, altchars=None)」の下の解説文(4箇所)

誤 バイト文字列
正バイト列

P.337:「Base64のエンコード」の続き、3行目

誤
>>> base64.b64encode(s.encode()) バイト文字列にエンコードして渡す
正
>>> base64.b64encode(s.encode()) バイト列にエンコードして渡す

P.337:「14.4.2  Base64からデコードする」の本文1行目、「b64decode(s, altchars=None, validate=False)」の「引数」s、altchars(3箇所)

誤
バイト文字列
正
バイト列

P.434:「encrypt(data)」および「decrypt(data)」の「引数」「戻り値」(4箇所)

誤
バイト文字列
正
バイト列

P.438:「encrypt(plaintext, padding)」の「引数」plaintext

誤
バイト文字列
正
バイト列

P.439:「class hazmat.primitives.asymmetric.padding.OAEP(mgf, algorithm, label)」の「引数」label

誤
バイト文字列
正
バイト列

P.439:「メッセージの暗号化」の下から3行目

誤バイト文字列
正バイト列

P.469:「19.3.2  run()関数で設定可能な主な引数」内、run()関数表組みの「引数」「stdout」「stderr」の脚注

誤※1
正※4

P.469:「19.3.2  run()関数で設定可能な主な引数」内、run()関数表組みの「引数」「errors」の脚注

誤※2 ※3
正※5 ※6

P.469:「19.3.2  run()関数で設定可能な主な引数」内、run()関数表組みの「引数」「text」「universal_newlines」の脚注

誤※2
正※5