これからはじめるPython他、最初に学ぶ入門書を読んだ次に読むと役立つと言いますか、プログラミング中にこれこれしたいけど何か参考になるコードはないか調べるのにとても役立つ本だと思います。
Python使ってシステム構築する仕様がそこそこ浮かんでいる方は、プログラミングにコード索引として、この本『Pythonコードレシピ集』がとても便利に使えると思います。私なら机上かすぐ横の本棚か、すぐ手に取れるところに置いときます。
書籍情報
< amazon >
- 書籍名:Pythonコードレシピ集
- 著 者:黒住 敬之 氏
- 発行所:株式会社技術評論社
- 価 格:2,948円(2,680+税10%:2021/4時点)
- 初 版:2021/2/5
- 頁 数:531頁
目 次
やりたいこと、プログラミングしたいことの単語、語句、短文を用いてブラウザの検索を実行してみてください。目次の中に知りたいことがいくつもあれば、参考になる書籍だと思います。
- Chapter1 Pythonの基本
- 001 Pythonスクリプトを実行したい
- 002 Pythonを対話形式で実行したい
- 003 Pythonコードの構造について知りたい
- 004 print関数を使いたい
- 005 print関数の出力をカスタマイズしたい
- 006 モジュールをimportしたい
- 007 pipで外部ライブラリをインストールしたい
- 008 venvを使ってPythonの仮想環境を使いたい
- Chapter2 変数
- 009 変数を使いたい
- 010 基本的な変数の種類が知りたい
- 011 予約語が知りたい
- 012 変数に値がないことを知りたい
- 013 整数を使いたい
- 014 算術演算をしたい
- 015 ブール値型変数を使いたい
- 016 比較演算をしたい
- 017 複数の変数を比較演算したい
- 018 ブール演算を使いたい
- 019 浮動小数点型を使いたい
- 020 無限大や非数を表したい
- 021 文字列型を扱いたい
- 022 文字列をエスケープしたい
- 023 文字列を連結したい
- 024 raw文字列を使いたい
- 025 文字列の文字数が知りたい
- 026 リストを生成したい
- 027 リストの要素を参照したい
- 028 スライス構文を使いたい
- 029 リストの要素を更新したい
- 030 入れ子のリストを使いたい
- 031 リストの要素数が知りたい
- 032 リストに要素を追加・挿入したい
- 033 リストの要素を削除したい
- 034 リストの要素を検索したい
- 035 タプルを使いたい
- 036 タプルの要素や要素数を調べたい
- 037 アンパックを使いたい
- 038 変数の値を入れ替えたい
- 039 range型を扱いたい
- 040 setを使いたい
- 041 setに要素を追加したい
- 042 setの要素を削除したい
- 043 setの要素の存在判定をしたい
- 044 集合の論理演算をしたい
- 045 辞書を生成したい
- 046 辞書の値を参照したい
- 047 辞書に値を追加・更新したい
- 048 辞書に含まれるすべてのキーと値を取得したい
- 049 キーの値が辞書に存在するかどうか調べたい
- 050 辞書の要素を削除したい
- 051 bytes型変数を使いたい
- Chapter3 制御文
- 052 if文で処理を条件分岐させたい
- 053 条件式での変数の評価が知りたい
- 054 複数の条件分岐を使いたい(else、elif)
- 055 三項演算子を使いたい
- 056 リストなどのイテラブルナ変数に対してループ処理したい
- 057 for文で指定回数分ループを実行したい
- 058 辞書に対してループ処理したい
- 059 for文でループカウンタを使いたい
- 060 複数のリストを同時にループ処理したい(for文)
- 061 リストをループで逆順に処理したい(for文)
- 062 リスト内包表記を使いたい
- 063 集合内包表記を使いたい
- 064 辞書内包表記を使いたい
- 065 条件を満たしている間ループ処理させたい(while文)
- 066 特定の条件のときループを抜けたい
- 067 特定の条件のときループ処理をスキップしたい
- 068 breakしなかった場合のみ処理を実行したい
- Chapter4 関数
- 069 関数を使いたい
- 070 キーワード引数を使いたい
- 071 可変長な位置引数を使いたい
- 072 可変長なキーワードを使いたい
- 073 関数呼び出しで位置引数をまとめて指定したい
- 074 関数呼び出しでキーワード引数をまとめて指定したい
- 075 デフォルト引数を使いたい
- 076 複数の値を返したい
- 077 関数の外側で定義した変数を使いたい
- 078 関数を変数として使いたい
- 079 関数内部で関数を定義したい
- 080 クロージャを使いたい
- 081 デコレータを使いたい
- 082 lambda式を使いたい
- 083 ジェネレータを使いたい
- 084 アノテーションを使いたい
- Chapter5 クラスとオブジェクト
- 085 独自のオブジェクトを使いたい
- 086 クラスを継承したい
- 087 クラス変数を使いたい
- 088 メソッドの種類が知りたい
- 089 プライベートな変数やメソッドを定義したい
- 090 オブジェクトの文字列表現を定義したい
- 091 オブジェクトが持つ変数やメソッドを調べたい
- 092 変数の型を調べたい
- Chapter6 例外
- 093 例外を処理したい
- 094 例外の種類が知りたい
- 095 複数の例外を処理したい
- 096 例外捕捉個所の終了処理を制御したい
- 097 捕捉した例外を変数として扱いたい
- 098 例外を発生させたい
- 099 例外を再放出したい
- 100 例外の詳細情報を取得したい
- 101 アサートを使いたい
- Chapter7 実行制御
- 102 実行時に引数を指定したい
- 103 終了ステータスを設定したい
- 104 キーボードからの入力値を取得したい
- 105 処理をスリープしたい
- 106 環境変数を取得したい
- Chapter8 開発
- 107 独自のモジュールを使いたい
- 108 モジュールをパッケージ化したい
- 109 スクリプトとして直接実行したときのみ処理を行いたい
- 110 ログを出力したい
- 111 ログのフォーマットを設定したい
- 112 ログをファイル出力したい
- 113 単体テストを実行したい
- 114 単体テストで前処理を実行したい
- 115 単体テストパッケージを使いたい
- 116 ini形式の設定ファイルを使いたい
- 117 コーディング規約が知りたい
- 118 アンチパターンを改善したい
- Chapter9 ファイルとディレクトリ
- 119 ファイルを開きたい
- 120 テキストファイルを読み込みたい
- 121 テキストファイルに書き込みたい
- 122 パスセパレータを取得したい
- 123 パスを結合したい
- 124 パスの末尾を取得したい
- 125 カレントディレクトリを取得・変更したい
- 126 絶対パス・相対パスを取得したい
- 127 パスの存在を確認したい
- 128 パス直下の内容一覧を取得したい
- 129 ディレクトリかファイルを判定したい
- 130 拡張子を取得したい
- 131 ファイルやディレクトリを移動したい
- 132 ファイルやディレクトリをコピーしたい
- 133 ファイルやディレクトリを削除したい
- 134 新しいディレクトリを作成したい
- Chapter10 数値処理
- 135 N進数表記を使いたい
- 136 N進数表記に変更したい
- 137 整数と浮動小数点を変換したい
- 138 浮動小数点の表示桁数を増やしたい
- 139 浮動小数点型の値が十分近いかどうかを判定したい
- 140 絶対値、合計、最大、最小値を求めたい
- 141 丸め処理を行いたい
- 142 数値のN乗を求めたい
- 143 商と剰余を求めたい
- 144 数学定数や数学関数を使いたい
- 145 指数関数を使いたい
- 146 絶対関数を使いたい
- 147 三角関数を使いたい
- 148 乱数を生成したい
- 149 Decimal型を使いたい
- 150 Decimal型の丸め処理を行いたい
- Chapter11 テキスト処理
- 151 文字列リストを連結したい
- 152 文字列に値を埋め込みたい
- 153 フォーマット済み文字列リテラルを使いたい
- 154 文字列を置換したい
- 155 文字列が含まれるか判定したい
- 156 文字列の一部を取り出したい
- 157 文字列の不要な空白を除去したい
- 158 文字列の大文字、小文字を変換したい
- 159 文字列の種類を判別したい
- 160 文字列を区切り文字で分割したい
- 161 文字列をゼロ埋めしたい
- 162 文字列を左右、中央に寄せたい
- 163 文字列を数値に変換したい
- 164 特定の文字列を含む行だけ抽出したい
- 165 テキストの空白行を削除したい
- 166 半角、全角を変換したい
- 167 bytes型と文字列を変換したい
- 168 文字コードを判定したい
- 169 ランダムな文字列を生成したい
- 170 正規表現を使いたい
- 171 正規表現を用いて検索したい
- 172 正規表現を用いて置換したい
- 173 正規表現でテキストを分割したい
- 174 正規表現グループを使用したい
- 175 正規表現の一致箇所を調べたい
- 176 GreedyとLazyを使い分けたい
- 177 正規表現で複数行にまたがる処理をしたい
- Chapter12 リスト・辞書の操作
- 178 N個の同じ要素からなるリストを生成したい
- 179 リストを結合したい
- 180 リストの要素をソートしたい
- 181 リストのすべての要素に対して特定の処理を行いたい
- 182 リストをCSV文字列に変換したい
- 183 リストをN個ずつの要素に分割したい
- 184 リストをN分割したい
- 185 リストの要素を条件指定で抽出したい
- 186 リストを逆順にしたい
- 187 リストをランダムにシャッフルしたい
- 188 リストから重複要素を除去したリストを作りたい
- 189 キーと値のリストから辞書を生成したい
- 190 辞書のキーと値を入れ替えたい
- 191 2つの辞書をマージしたい
- Chapter13 日付と時間
- 192 日付や時間を扱いたい
- 193 日時(datetime)を扱いたい
- 194 文字列と日時(datetime)を変換したい
- 195 現在の日時(datetime)を取得したい
- 196 日付(date)を扱いたい
- 197 文字列と日付(date)を変換したい
- 198 現在の日付(date)を取得したい
- 199 日時の計算をしたい
- 200 時間(time)を扱いたい
- 201 文字列と時間(time)を変換したい
- 202 月末の判定をしたい
- 203 うるう年を判定したい
- Chapter14 さまざまなデータ形式
- 204 CSVファイルを読み込みたい
- 205 CSVファイルに書き込みたい
- 206 JSON文字列をパースしたい
- 207 辞書をJSON文字列に変換したい
- 208 Base64にエンコードしたい
- 209 Base64をデコードしたい
- 210 UUIDを生成したい
- 211 URLエンコードしたい
- 212 URLエンコードをデコードしたい
- 213 URLをパースしたい
- 214 URLのクエリパラメータをパースしたい
- 215 ユニコードエスケープにエンコードしたい
- 216 ユニコードエスケープをデコードしたい
- 217 ハッシュ値を生成したい
- 218 ZIPファイルを展開したい
- 219 ZIP形式でファイルを圧縮したい
- 220 tarファイルを展開したい
- 221 tar形式でアーカイブしたい
- 222 ZIP形式やtar形式でディレクトリごと圧縮したい
- Chapter15 リレーショナルデータベース
- 223 SQLite 3に接続したい
- 224 SQLite 3でSQL文を実行したい
- 225 SQLite 3でSELECT結果を取得したい
- 226 SQLite 3でSELECT結果をカラムを指定して取得したい
- 227 さまざまなデータベースを操作したい
- 228 MySQLを操作したい
- 229 PostgreSQLを操作したい
- Chapter16 HTTPリクエスト
- 230 WebサイトやREST APIにアクセスしたい
- 231 GETリクエストしたい
- 232 レスポンスのさまざまな情報を取得したい
- 233 レスポンスのエンコーディングを設定したい
- 234 POSTリクエストしたい
- 235 リクエストヘッダを追加したい
- 236 プロキシーサーバを経由してアクセスしたい
- 237 タイムアウトを設定したい
- Chapter17 HTMLパース
- 238 HTMLをパースしたい
- 239 条件を指定してタグを取得したい
- 240 取得したタグから情報を取得したい
- 241 条件に一致するタグをすべて取得したい
- 242 スクレイピングしたい
- Chapter18 画像処理
- 243 画像編集ライブラリを使いたい
- 244 画像の情報を取得したい
- 245 Pillowで開いた画像を参照・保存したい
- 246 画像を拡大・縮小したい
- 247 画像をクロッピングしたい
- 248 画像を回転させたい
- 249 画像を反転させたい
- 250 画像をグレースケールに変換したい
- 251 画像の中に文字を埋め込みたい
- 252 画像の中に画像を埋め込みたい
- 253 画像のExif情報を読み込みたい
- Chapter19 データ分析の準備
- 254 データ分析をしたい
- 255 Anacondaを使いたい
- Chapter20 IPython
- 256 IPythonを使いたい
- 257 マジック関数を使いたい
- Chapter21 NumPy
- 258 NumPyを使いたい
- 259 ndarrayを使いたい
- 260 ndarrayの各要素に対して関数の計算をしたい
- 261 ベクトルの演算をしたい
- 262 行列を扱いたい
- 263 代表的な行列を使いたい
- 264 行列の演算をしたい
- 265 行列の基本計算をしたい
- 266 行列をQR分解したい
- 267 行列の固有値を求めたい
- 268 連立一次方程式の解を求めたい
- 269 乱数を生成したい
- Chapter22 pandas
- 270 pandasを使いたい
- 271 Seriesを生成したい
- 272 Seriesのデータにアクセスしたい
- 273 DataFrameを生成したい
- 274 pandasでCSVファイルに対して入出力したい
- 275 pandasでデータベースに対して読み書きしたい
- 276 pandasでクリップボードのデータを読み込みたい
- 277 DataFrameから基本統計量を求めたい
- 278 DataFrameの列データを取得したい
- 279 DataFrameの行データを取得したい
- 280 DataFrameの行・列を指定してデータを取得したい
- 281 DataFrameの演算をしたい
- 282 DataFrameで欠損値を扱いたい
- 283 DataFrameの値を置換したい
- 284 DataFrameをフィルタリングしたい
- 285 DataFrameをGroupByで検索したい
- 286 DataFrameをソートしたい
- 287 DataFrameからピボットテーブルを作成したい
- Chapter23 Matplotlib
- 288 Matplotlibを使いたい
- 289 Matplotlibの基本的な使い方が知りたい
- 290 グラフの汎用要素を設定したい
- 291 散布図を作成したい
- 292 棒グラフを作成したい
- 293 折れ線グラフを作成したい
- 294 関数のグラフを作成したい
- 295 円グラフを作成したい
- 296 ヒストグラムを作成したい
- Chapter24 デスクトップ操作の自動化
- 297 デスクトップ操作を自動化したい
- 298 画面の情報を取得したい
- 299 マウスポインタを移動させたい
- 300 マウスをクリックさせたい
- 301 キーボード入力させたい
- 302 スクリーンショットを取得したい
一通り読み終えて
私が企業のシステム開発担当者でしたら、いつでも見えるように傍らに置いておきます。インターネットが浸透し、すぐに調べられるようになったとはいえ、まだまだ書籍の持つ役割は捨てきれません。
ネットリサーチするより楽に見つけられる可能性も否定できないし・・・
何かを開発するとき、例えば、Basic、Excelマクロ、C、Pascal、SQL、MQL、Python、php、他、どのプログラム言語でも思いついた機能を組み込みためのコードを辞書的に引けるととても助かります。
このコードレシピ集、かなり使えると思います。
興味ある方は本屋さんに行って目次を見るか、本屋さんが遠い方は、次のリンク先に飛んでください。
- amazon Pythonコードレシピ集
- 楽天 Pythonコードレシピ集 [ 黒住敬之 ]
コメント