pyhaya’s diary

機械学習系の記事をメインで書きます

「エキスパートPythonプログラミング 改訂2版」を理解するためのリンク集

Pythonの中・上級者向けの参考書として名高い「エキスパートPythonプログラミング」を読み始めました。一通り文法は理解できたつもりでしたが、この本はとにかく難しく感じました...。この記事では、私がエキスパートPythonプログラミングを読んでいて理解を助けてくれたサイトへのリンクを列挙しています。

私は、エキスパートPythonプログラミングを読むためにこれらのサイトを訪れましたが、これらのリンクは脱Python初心者を目指す方にも有用な記事がそろっていると思います。ぜひこれらの記事を読んでランクアップを目指しましょう!

エキスパートPythonプログラミング 改訂2版 (アスキードワンゴ)

エキスパートPythonプログラミング 改訂2版 (アスキードワンゴ)

目次

第一章 現在のPythonのステータス

PEP文書

Pythonについて知りたかったらこれでしょという文書、一部は日本語訳もされているようです。
www.python.org

venvの使い方

仮想環境の作り方、私は使っているバージョンが3.6.5なのでvirtualenvにはあまり関心を払いませんでした。
qiita.com

Buildoutの概要

訳者の一人である清水川さんの記事
www.freia.jp

VagrantとDockerの概要

qiita.com

仮想化とコンテナ化とはそもそも何か

最近よくDockerとかよく聞きますが仮想環境とどう違うのよ、って感じだったので調べたときに参考になったサイトです。
cn.teldevice.co.jp

インタラクティブデバッガpdbの使い方

Pythonインタラクティブデバッガであるpdbの基本的な使い方です。ちょっと使ってみましたが何となくなじめず、すぐ使わなくなりました。
qiita.com

第二章 構文ベストプラクティス - クラス以外

文字列とバイト列

あまり文字列とバイト列について今まで意識したことがなかったのでこの節はだいぶキョドリました。
qiita.com

コレクション

Pythonにはデフォルトでリストやタプル、セット、辞書といった様々なコレクションが用意されています。これらをどう使い分ければよいか、計算量の見地から解説した記事です。
qiita.com

hashableな型を作成するときの__hash__, __eq__の書き方
blog.tiqwab.com


オープンハッシュ法などのハッシュ法について書かれた記事
www.geocities.jp

第三章 構文ベストプラクティス - クラスの世界

MRO(メソッド解決順序)

Pythonsuper()の話、多重継承になるといろいろめんどくさくなるのでメソッド解決順序(MRO)の理解が重要
python-history-jp.blogspot.com

モンキーパッチ

ディスクリプタのところでモンキーパッチなるものが出てきたが説明がなかったので調べた。メタクラスの内容もあるので、そっちも参考になる。

www.slideshare.net

evalの危険性

evalを使うと、例外処理をいくら駆使してもセグメント違反が起こせることを示した
Ned Batchelder: Eval really is dangerous

パスファインダ

Pythonのimportに踏み込むためには公式文書を読めとあったので素直に読んだ。
5. インポートシステム — Python 3.6.5 ドキュメント

第4章 良い名前を選ぶ

PEP8

Python命名規則は記事を読むより公式文書を読んだほうが早い
はじめに — pep8-ja 1.0 ドキュメント

リーダブルコード

プログラミング全般できれいなコードの書き方を学びたい場合には、サイトではなく本だが「リーダブルコード」

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

Pylint

インストール方法
qiita.com
Pylintのメッセージ一覧
All messages - PyLint Messages
All codes - PyLint Messages

第5章 パッケージを作る

パッケージの信頼できる情報源

Python Packaging User Guide
本文中にも引用として挙げられていたサイトです。PyPAが運営しており、信頼がおけ、最新のパッケージングツールとベストプラクティスを提供しています。

setup.pyを書く

setup.pyの書き方。オプションについても説明があってよい。
Python/setup.pyによるインストール - Glamenv-Septzen.net




随時更新していきます...
よかったらTwitterもフォローお願いします