Cat & Code & Crimson

思索と技術が交差する場所

Tips #30:標準dictの「ここが不便」をcollectionsで解決する(Python実践スキル)

この Tips シリーズでは、#9 までに基本的なデータ構造を整理し、#10 以降は Python イディオム(Python 特有の慣用的な書き方)を紹介してきました。
今回は、実務で役立つ Python実践スキル の13回目として、collections モジュールを取り上げます。

Pythonの dict やリストは非常に便利ですが、実務では「もう少し機能がほしい」と感じる場面があります。

  • 辞書のキーが存在しないたびに if で初期化するのが面倒(例:カウント・グルーピング)
  • 要素の出現回数を数えるために自分でカウント処理を書いている
  • 複数の設定辞書をうまく合成したい
  • キューとして使いたいが、リストの先頭追加は遅い

こうした「標準の dict・リストでは一手間かかる」場面を、collections モジュールはすっきり解決してくれます。
すべて標準ライブラリなので、インストール不要です。

今回は実務でよく使う以下の機能を解説します。

  • namedtuple(名前付きタプル)
  • ChainMap(複数辞書の合成)
  • OrderedDict(順序操作付き辞書)
  • defaultdict(自動初期化辞書)
  • Counter(頻度カウント)
  • deque(両端キュー)

namedtupleTips #5)、defaultdictTips #3)、CounterTips #8)、dequeTips #9)は以前ご紹介しましたが、今回は 実務での使いどころ を中心に改めて整理します。


続きを読む

Tips #29:Pythonファイル操作の実践パターン- pathlib・shutil・zipfile(Python実践スキル)

この Tips シリーズでは、#9 までに基本的なデータ構造を整理し、#10 以降は Python イディオム(Python 特有の慣用的な書き方)を紹介してきました。
今回は、実務で役立つ Python実践スキル の12回目として、ファイル操作 を整理します。

「Pythonでファイル操作」と聞くと地味に感じるかもしれません。
でも、実務では次のような場面が必ず出てきます。

  • 毎日増えていくログファイルをまとめて処理したい
  • 大切なデータをバックアップとして別の場所にコピーしたい
  • 処理の途中で一時的なファイルを使いたいが、後始末を忘れたくない
  • データをzip圧縮して配布したい

これらはすべて、Pythonの標準ライブラリだけで解決できます。
今回は「なぜそのモジュールを使うのか」「どう役立つのか」を意識しながら、実践的なパターンを紹介します。

続きを読む

Tips #28:requests の使い方 - PythonでAPI通信(Python実践スキル)

この Tips シリーズでは、#9 までに基本的なデータ構造を整理し、#10 以降は Python イディオム(Python 特有の慣用的な書き方)を紹介してきました。
今回は、実務で役立つ Python実践スキル の11回目として、PythonでWeb APIを扱うときに最もよく使われるライブラリ requests を整理します。

「外部サービスのデータを取得したい」「APIと連携したい」「Webページから情報を集めたい」― そんな実務の困りごとを、requests で解決します。

注意: requests は標準ライブラリではありませんが、API通信の事実上の標準として広く使われています。標準ライブラリの urllib よりも直感的に書けるため、実務ではほぼ必須のライブラリです。

続きを読む

Tips #27:Python で環境変数を扱う - os.environ の基本(Python実践スキル)

この Tips シリーズでは、#9 までに基本的なデータ構造を整理し、#10 以降は Python イディオム(Python 特有の慣用的な書き方)を紹介してきました。
今回は、実務で役立つ Python実践スキル の10回目として、設定値・APIキー・本番/開発切り替えなど、実務では必須の 環境変数の扱い方 を整理します。

「GitHubにパスワードを上げてしまった」「開発と本番で設定を変えたい」― そんな実務の困りごとを、環境変数で解決します。

続きを読む

Tips #26:Python で CSV を扱う - 読み込み・書き込み・集計(Python実践スキル)

この Tips シリーズでは、#9 までに基本的なデータ構造を整理し、#10 以降は Python イディオム(Python 特有の慣用的な書き方)を紹介してきました。
今回は、実務で役立つ Python実践スキル の9回目として、データ処理の現場で登場頻度の高い CSV処理 を整理します。

「Excelで開いたら文字化け」「大量のCSVを一括処理したい」「データを集計・加工したい」― そんな実務の困りごとを、Pythonの標準ライブラリ csv で解決します。

続きを読む

Tips #25:正規表現(re)の使い方 - 文字列処理を自動化(Python実践スキル)

この Tips シリーズでは、#9 までに基本的なデータ構造を整理し、#10 以降は Python イディオム(Python 特有の慣用的な書き方)を紹介してきました。
今回は、実務で役立つ Python実践スキル の8回目として、多くの場面で登場する正規表現(re)を整理します。

「なんとなく難しい」「読めない」「結局使っていない」― そんな壁を、Python実践スキルとしての使いどころから崩していきます。

続きを読む

Tips #24:json の使い方 - 設定管理とデータ保存(Python実践スキル)

この Tips シリーズでは、#9 までに基本的なデータ構造を整理し、#10 以降は Python イディオム(Python 特有の慣用的な書き方)を紹介してきました。
今回は、実務で役立つ Python実践スキル の7回目として、設定ファイルや簡易データ保存で頻出の json を整理します。

「JSON は知っているが、Python でどう使うのか分からない」「設定をコードに書かずに管理したい」―そんな疑問を解消します。

続きを読む