2
Most read
6
Most read
10
Most read
Takayuki Shimizukawa
2021/8/11(水)
みんなのPython勉強会#72
エキスパートPythonプログラミング
改訂3版
の読みどころ
1
@shimizukawa (清水川)
● BeProud 取締役 / IT Architect
○ 受託開発(Webアプリ / 機械学習 / 数理最適化)
○ 自社サービス(connpass / PyQ / TRACERY)
○ Python研修(Python基礎、Django、Pandas、その他)
● 一般社団法人PyCon JP Association 会計理事
○ PyCon JP 年次イベントの見守り
○ Python Boot Camp 主催
● Sphinx (コミッター休業中)
おまえ誰よ / Who are you
2
1版: 2010/5/28
2版: 2018/2/26
3版: 2021/7/30
1版: 2013/09/12
2版: 2017/10/20
2018/02/23
2020/02/27
1版: 2012/03/27
2版: 2015/02/27
3版: 2018/06/12
執筆・翻訳した書籍
3
NEW
年
「エキPy 改訂3版」はどんな本?
4
『エキスパートPythonプログラミング』は こんな本
5
● Pythonをある程度書ける
→ Pythonをマスターしている
● 他の言語をある程度マスターしている
→ Python World サバイバルガイド(≠観光ガイド)
『エキスパートPythonプログラミング』への反応
6
『エキスパートPythonプログラミング』が向かない方
7
● プログラミングを知らない
→ 他の書籍へ(『独学プログラマー』等お勧め多数)
● プログラミング言語自体を集中的に詳しく知りたい
→ 他の書籍へ
『 Effective Python第2版 』『 Fluent Python 』『 実践Python3 』
● 300ページ以上ある本は許せない
→ 600ページあります!
 すみません!!
Python書籍の今と昔
2010年
● エキスパートPythonプログラミング 第1版 発売!
● Pythonの本は入門本がいくつかある程度
● Pythonでの開発、作法、環境、パッケージに触れた本ナシ
2021年
● 書店に行くとPythonの書籍が溢れている
● 読み手の選択肢が広がり、より自分に合った書籍を選べる
8
2001年
2010年
2021年
「エキPy 改訂3版」の読みどころ
(読者視点)
9
エキPy 改訂3版 は「濃い本」
"Pythonのベストプラクティスと最新コンセプトを伝授”
10
第1部: 始める前に
● 環境: Python / venv / Vagrant / Docker
2部: Python職人の技
● 構文ベストプラクティス
● メタプログラミング
● 名前付け/ pylint / pycodestyle / flake8
● パッケージング/ wheel / スタンドアロン
● デプロイ(Fabric) / モニタリング
● C拡張 / Cython / ctypes / CFFI
3部: 量より質
● コード管理/ 自動ビルド(CI)
● ドキュメント(Sphinx / MkDocs / Swagger)
● テスト駆動開発/ pytest
4部: 最適化
● プロファイリング/ 最適化
● 並行処理(マルチスレッド/ プロセス/ 非同期)
5部: 技術的アーキテクチャ
● イベント駆動プログラミング
● デザインパターン
● 型ヒント
改訂2版との違い
● 扱っている分野は、2版からそれほど変わっていません
● 全体的な「情報最新化」(2020年末時点)
○ Pythonバージョン: 2版 3.6 -> 3版 3.9
○ Python 2 や古いライブラリの話題は削除、更新
● 追加された大きめの話題
○ イベント駆動プログラミング
○ 型ヒント
○ Docker
● その他
○ ページ数: 520 -> 615
○ お値段: 3600円 -> 3800円
○ 重さ: 933g -> 1kg越え
11
「エキPy 改訂3版」の読みどころ
(翻訳者視点)
12
『エキスパートPythonプログラミング 改訂3版』は、
「日本語翻訳版」を越えた「原著より価値のある版」
13
● Pythonバージョンを2020年末最新版に更新
● 最新の情報をノート欄や脚注としてふんだんに追加
● 原著の間違いを修正し本家へフィードバック
● 大胆な削除、変更、追加、復活
Pythonバージョンを2020年末最新版に更新
14
原著
● Python 3.7 (2019年4月時点の最新)
日本語版
● Python 3.9 (2020年12月時点の最新)
● 全てのサンプルコードを Python 3.9 で確認
● ライブラリも最新バージョンに更新して掲載
最新の情報をノート欄や脚注としてふんだんに追加
15
●
原著の間違いを修正し本家へフィードバック
16
● Packtのサイトから
多数のErrata登録を
行いました
(50件以上?)
● 「日本語版によせて」
で原著者に感謝(?)
されました
大胆な削除、変更、追加、復活
17
● 削除: Python2, 3.3, 3.4 の話題(EOL)
● 削除: 型アノテーションの将来展望(変更されたため)
● 追加: breakpoint、__set_name__、 :=
● 追加: 型ヒントの付録章(書き下ろし)
● 復活: 2版で削除されたジェネレータ式の解説(大事)
● 変更: Dockerのベースイメージ(alpineの弊害を考慮)
● 変更: GitLab CI -> GitHub Actions
● 変更: API Blueprint -> Swagger(OpenAPIに採用された)
● 変更: nose -> pytest (デファクトとなった)
● 変更: 型ヒントの説明(この2年で大幅に進化した)
大胆すぎて、原著者に「なんでこんなに変更するんだ」と聞かれる事態に (´・ω・`)
まとめ
『エキスパートPythonプログラミング 改訂3版』は
18
原著より価値のある
2021年現在、最もオススメできる
Pythonの最新情報を網羅した本
番外編: 翻訳者になろう
19
清水川(私)が本書を翻訳したきっかけ
● 2005年~2010年にかけて某ライブラリのドキュメントを翻訳
○ 1単語ごとに英和辞書をひき
○ つたない日本語で細々と
○ 1時間かけて1行しか翻訳できないことも...
● 2009年に英語版のExpert Python Programming と出会い
○ @terapyonに紹介され
○ 内容の濃さに驚き、その場でPDF版を購入
○ 英語をがんばって読み漁り
○ 1ヶ月後の某合宿(#pyspa)でも好評
○ 合宿中に目次を一気に翻訳してblogで公開
● イベントで知り合った編集者さんに持ち込み
20
素振り
出会い
タイミング
繋がり
書籍やドキュメントを翻訳しよう
触れる機会が無かった知識に触れよう。
正しい訳文よりも正しく伝わる分かりやすい日本語に言い換えるために、原文
の意図を正しく把握しよう。
知らない技術を理解し、自分の言葉で説明しよう。
最新事情に合わせてバージョンを更新し、訳注で補足し、必要なら本文も書き
換える、やれることを全部やろう。
翻訳するという目的で技術を学ぶのも楽しいですよ
21
参考文献
● 『エキスパートPythonプログラミング改訂3版』の紹介— 清水川Web
○ https://www.freia.jp/taka/blog/expert-python-programming-3rd-i
ntro/index.html
● #43 清水川さんをゲストにライブラリの選定やエキPy3版の出版か
らマルチテナントの話 | terapyon channel podcast
○ https://podcast.terapyon.net/episodes/0052.html
● 素振りのススメ at Python入門者の集い
○ https://www.slideshare.net/shimizukawa/suburi-no-susume-at-pyt
hon-nyumon
22
23
ありがとうございました
質問/ご感想 ありますか?

エキスパートPythonプログラミング改訂3版の読みどころ