めも

メモ.

エキスパートPythonプログラミングを読んで(1)

各章を読み進める上で調べた内容

各章を読みながら、そこに出てきた内容や気になったことを調べた際に参照したリンクと書き留めです。本に記載してあるリンク以外のみ貼ります。全14章です。

第1章

Pythonの基本、環境、2と3の違いについての章。

PEP

www.slideshare.net

Lesson 13 旧バージョン2環境への対応、標準ライブラリ ― Python言語の文法(応用編):機械学習&ディープラーニング入門(Python編) - @IT

デバッグ

www.slideshare.net

VS CodeでPythonコードのデバッグも楽々!! (1/4):Visual Studio Codeで始めるPythonプログラミング - @IT

第2章

イテレータ・ジェネレータなどの構文の紹介とそれらの使い方について。

Unicode

www.slideshare.net

www.slideshare.net

mutable/immutable

オブジェクトによっては 値 を変更することが可能です。値を変更できるオブジェクトのことを mutable と呼びます。生成後に値を変更できないオブジェクトのことを immutable と呼びます。 引用元:3. データモデル — Python 3.8.3 ドキュメント

immutableなコンテナであっても、コンテナがどのオブジェクトを格納しているのかさえ変化しなければ、コンテナのもつmutableなオブジェクトの値は変更できる。到達不能 (unreachable) な状態になれば自動的にガベージコレクションの処理が行われる。ただしファイルは必ず明示的に閉じるべき。

Pythonの組み込みデータ型の分類表(ミュータブル等) | ガンマソフト株式会社

Literal String Interpolation

stringの中で{}で囲まれた部分を式として評価して出力する。

PEP 498 -- Literal String Interpolation | Python.org

collection

list, dictなどのコレクションの機能と選び方について。

collections --- コンテナデータ型 — Python 3.8.3 ドキュメント

組み込み型 — Python 3.8.3 ドキュメント

exception KeyError(KeyError):キーの集合内に指定したキーが存在しない時のエラー

itertools

itertools --- 効率的なループ実行のためのイテレータ生成関数 — Python 3.8.3 ドキュメント

無限イテレータ、最短のシーケンスによって止まるイテレータ(ドキュメントでの「Iterators terminating on the shortest input sequence」)、組合せイテレータが存在する。

Itertools in Python 3, By Example – Real Python

filterfalse(lambda x: x%2, range(10)) --> 0 2 4 6 8

zip_longest('ABCD', 'xy', fillvalue='-') --> Ax By C- D-

他気になったこと

  • len()について。

www.slideshare.net

  • decoratorについて

Python のデコレータについて理解した話 | レコチョクのエンジニアブログ

Python decorator

第3章

クラス関係のベストプラクティスと使い方について。

9. クラス — Python 3.8.3 ドキュメント

Lazy initialization(遅延初期化)

特定のオブジェクトの作成のコストが大きい割に実際に使用されるかどうかわからない状態の時、初期化のタイミングを使用される直前まで遅らせる、といった実装をすることがある。

限定的な初期化 | Microsoft Docs

.net - What is lazy initialization and why is it useful? - Stack Overflow

_metaclass_

Python の メタプログラミング (__metaclass__, メタクラス) を理解する | yunabe.jp

3. Data model — Python 3.8.3 documentation

第4章

コーディング規約や変数名の付け方について。リーダブルコードなどの文献も参考になる。

VSCode拡張

settings.jsonの記述

Command(Ctrl) + , で設定を開く。

Settings Reference for Python

Using Python Environments in Visual Studio Code

その他

www.slideshare.net

www.slideshare.net

第5章

パッケージの作り方とパッケージをリリースをするまでの工程・PyPIについての説明。

パッケージとは

パッケージ (package) は、Python のモジュール名前空間を "ドット付きモジュール名" を使って構造化する手段です。(引用元: 6. モジュール — Python 3.8.3 ドキュメント)

[Python入門]パッケージ (1/2):Python入門 - @IT

6. モジュール — Python 3.8.3 ドキュメント

インポート失敗時の例外=ImportError、ModuleNotFoundError(組み込み例外 — Python 3.8.3 ドキュメント

www.slideshare.net

pythonスクリプトのexeファイル化

各ツールの使用例とデコンパイルを困難にするための手法について本書で説明されています。

難読化コード - Wikipedia

耐タンパー性(タンパーレジスタンス)とは - IT用語辞典 e-Words

他のサイトの感想

購入を判断するために読んだ感想や他の方の記事です。

【感想・ネタバレ】エキスパートPythonプログラミング 改訂2版のレビュー - 漫画・無料試し読みなら、電子書籍ストア BookLive!

『エキスパートPythonプログラミング』|感想・レビュー - 読書メーター

『エキスパートPythonプログラミング 改訂2版』を読んだ - Tsukasa OMOTO - Medium