TECH PLAY

Pythonコードレシピ集

2,948円 (税込)

楽天

Pythonコードレシピ集

書籍情報

発売日:

著者/編集:黒住敬之

出版社:技術評論社

発行形態:単行本

書籍説明

内容紹介

Pythonでやりたいことがスグに逆引きできる究極のレシピ集。基礎知識にはじまり、定番機能の解説、開発現場でニーズの高いテクニックまであますところなく集めました。基本文法/数値処理/テキスト処理/データベース/HTTPリクエスト/データ分析/画像処理…。繰り返し参照しやすい形式で構文やコードをわかりやすく整理。脱初心者から駆け出しのエンジニア、ホビープログラマー、研究者まで。Pythonでプログラミングするすべての方にお届けします。

目次

------------------------------------------------ Chapter 1 Pythonの基本 ------------------------------------------------ 001 Pythonスクリプトを実行したい 002 Pythonを対話形式で実行したい 003 Pythonコードの構造について知りたい 004 print関数を使いたい 005 print関数の出力をカスタマイズしたい 006 モジュールをimportしたい 007 pipで外部ライブラリをインストールしたい 008 venvを使ってPythonの仮想環境を使いたい ------------------------------------------------ Chapter 2 変数 ------------------------------------------------ 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型変数を使いたい ------------------------------------------------ Chapter 3 制御文 ------------------------------------------------ 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しなかった場合のみ処理を実行したい ------------------------------------------------ Chapter 4 関数 ------------------------------------------------ 069 関数を使いたい 070 キーワード引数を使いたい 071 可変長な位置引数を使いたい 072 可変長なキーワード引数を使いたい 073 関数呼び出しで位置引数をまとめて指定したい 074 関数呼び出しでキーワード引数をまとめて指定したい 075 デフォルト引数を使いたい 076 複数の値を返したい 077 関数の外側で定義した変数を使いたい 078 関数を変数として扱いたい 079 関数内部で関数を定義したい 080 クロージャを使いたい 081 デコレータを使いたい 082 lambda式を使いたい 083 ジェネレータを使いたい 084 アノテーションを使いたい ------------------------------------------------ Chapter 5 クラスとオブジェクト ------------------------------------------------ 085 独自のオブジェクトを使いたい 086 クラスを継承したい 087 クラス変数を使いたい 088 メソッドの種類が知りたい 089 プライベートな変数やメソッドを定義したい 090 オブジェクトの文字列表現を定義したい 091 オブジェクトが持つ変数やメソッドを調べたい 092 変数の型を調べたい ------------------------------------------------ Chapter 6 例外 ------------------------------------------------ 093 例外を処理したい 094 例外の種類が知りたい 095 複数の例外を処理したい 096 例外捕捉箇所の終了処理を制御したい 097 捕捉した例外を変数として扱いたい 098 例外を発生させたい 099 例外を再送出したい 100 例外の詳細情報を取得したい 101 アサートを使いたい ------------------------------------------------ Chapter 7 実行制御 ------------------------------------------------ 102 実行時に引数を指定したい 103 終了ステータスを設定したい 104 キーボードからの入力値を取得したい 105 処理をスリープしたい 106 環境変数を取得したい ------------------------------------------------ Chapter 8 開発 ------------------------------------------------ 107 独自のモジュールを使いたい 108 モジュールをパッケージ化したい 109 スクリプトとして直接実行したときのみ処理を行いたい 110 ログを出力したい 111 ログのフォーマットを設定したい 112 ログをファイル出力したい 113 単体テストを実行したい 114 単体テストで前処理を実行したい 115 単体テストパッケージを使いたい 116 ini形式の設定ファイルを使いたい 117 コーディング規約が知りたい 118 アンチパターンを改善したい ------------------------------------------------ Chapter 9 ファイルとディレクトリ ------------------------------------------------ 119 ファイルを開きたい 120 テキストファイルを読み込みたい 121 テキストファイルに書き込みたい 122 パスセパレータを取得したい 123 パスを結合したい 124 パスの末尾を取得したい 125 カレントディレクトリを取得・変更したい 126 絶対パス・相対パスを取得したい 127 パスの存在を確認したい 128 パス直下の内容一覧を取得したい 129 ディレクトリかファイルかを判定したい 130 拡張子を取得したい 131 ファイルやディレクトリを移動したい 132 ファイルやディレクトリをコピーしたい 133 ファイルやディレクトリを削除したい 134 新しいディレクトリを作成したい ------------------------------------------------ Chapter 10 数値処理 ------------------------------------------------ 135 N進数表記を使いたい 136 N進数表記に変換したい 137 整数と浮動小数点を変換したい 138 浮動小数点の表示桁数を増やしたい 139 浮動小数点型の値が十分近いかどうかを判定したい 140 絶対値、合計、最大、最小値を求めたい 141 丸め処理を行いたい 142 数値のN乗を求めたい 143 商と剰余を求めたい 144 数学定数や数学関数を使いたい 145 指数関数を使いたい 146 対数関数を使いたい 147 三角関数を使いたい 148 乱数を生成したい 149 Decimal型を使いたい 150 Decimal型の丸め処理を行いたい ------------------------------------------------ Chapter 11 テキスト処理 ------------------------------------------------ 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 正規表現で複数行にまたがる処理をしたい ------------------------------------------------ Chapter 12 リスト・辞書の操作 ------------------------------------------------ 178 N個の同じ要素からなるリストを生成したい 179 リストを結合したい 180 リストの要素をソートしたい 181 リストのすべての要素に対して特定の処理を行いたい 182 リストをCSV文字列に変換したい 183 リストをN個ずつの要素に分割したい 184 リストをN分割したい 185 リストの要素を条件指定で抽出したい 186 リストを逆順にしたい 187 リストをランダムにシャッフルしたい 188 リストから重複要素を除去したリストを作りたい 189 キーと値のリストから辞書を生成したい 190 辞書のキーと値を入れ替えたい 191 2つの辞書をマージしたい ------------------------------------------------ Chapter 13 日付と時間 ------------------------------------------------ 192 日付や時間を扱いたい 193 日時(datetime)を扱いたい 194 文字列と日時(datetime)を変換したい 195 現在の日時(datetime)を取得したい 196 日付(date)を扱いたい 197 文字列と日付(date)を変換したい 198 現在の日付(date)を取得したい 199 日時の計算をしたい 200 時間(time)を扱いたい 201 文字列と時間(time)を変換したい 202 月末の判定をしたい 203 うるう年を判定したい ------------------------------------------------ Chapter 14 さまざまなデータ形式 ------------------------------------------------ 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形式でディレクトリごと圧縮したい ------------------------------------------------ Chapter 15 リレーショナルデータベース ------------------------------------------------ 223 SQLite 3に接続したい 224 SQLite 3でSQL文を実行したい 225 SQLite 3でSELECT結果を取得したい 226 SQLite 3でSELECT結果をカラムを指定して取得したい 227 さまざまなデータベースを操作したい 228 MySQLを操作したい 229 PostgreSQLを操作したい ------------------------------------------------ Chapter 16 HTTPリクエスト ------------------------------------------------ 230 WebサイトやREST APIにアクセスしたい 231 GETリクエストしたい 232 レスポンスのさまざまな情報を取得したい 233 レスポンスのエンコーディングを設定したい 234 POSTリクエストしたい 235 リクエストヘッダを追加したい 236 プロキシサーバを経由してアクセスしたい 237 タイムアウトを設定したい ------------------------------------------------ Chapter 17 HTMLパース ------------------------------------------------ 238 HTMLをパースしたい 239 条件を指定してタグを取得したい 240 取得したタグから情報を取得したい 241 条件に一致するタグをすべて取得したい 242 スクレイピングしたい ------------------------------------------------ Chapter 18 画像処理 ------------------------------------------------ 243 画像編集ライブラリを使いたい 244 画像の情報を取得したい 245 Pillowで開いた画像を参照・保存したい 246 画像を拡大・縮小したい 247 画像をクロッピングしたい 248 画像を回転させたい 249 画像を反転させたい 250 画像をグレースケールに変換したい 251 画像の中に文字を埋め込みたい 252 画像の中に画像を埋め込みたい 253 画像のExif情報を読み込みたい ------------------------------------------------ Chapter 19 データ分析の準備 ------------------------------------------------ 254 データ分析をしたい 255 Anacondaを使いたい ------------------------------------------------ Chapter 20 IPython ------------------------------------------------ 256 IPythonを使いたい 257 マジック関数を使いたい ------------------------------------------------ Chapter 21 NumPy ------------------------------------------------ 258 NumPyを使いたい 259 ndarrayを使いたい 260 ndarrayの各要素に対して関数の計算をしたい 261 ベクトルの演算をしたい 262 行列を扱いたい 263 代表的な行列を使いたい 264 行列の演算をしたい 265 行列の基本計算をしたい 266 行列をQR分解したい 267 行列の固有値を求めたい 268 連立一次方程式の解を求めたい 269 乱数を生成したい ------------------------------------------------ Chapter 22 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からピボットテーブルを作成したい ------------------------------------------------ Chapter 23 Matplotlib ------------------------------------------------ 288 Matplotlibを使いたい 289 Matplotlibの基本的な使い方が知りたい 290 グラフの汎用要素を設定したい 291 散布図を作成したい 292 棒グラフを作成したい 293 折れ線グラフを作成したい 294 関数のグラフを作成したい 295 円グラフを作成したい 296 ヒストグラムを作成したい ------------------------------------------------ Chapter 24 デスクトップ操作の自動化 ------------------------------------------------ 297 デスクトップ操作を自動化したい 298 画面の情報を取得したい 299 マウスポインタを移動させたい 300 マウスをクリックさせたい 301 キーボード入力させたい 302 スクリーンショットを取得したい 巻末資料 Index

著者情報

黒住, 敬之

黒住敬之

黒住敬之(くろずみたかゆき) 信州大学大学院工学系研究科修了(位相幾何学専攻)。大学院卒業後、都内のSIerに勤務、業務システムの開発を行う。現在はEC企業の研究開発部に所属、Pythonを使用したシステム開発並びにデータ分析業務に従事。また、個人でもシステム開発やデータ分析業務等を受託。アイティーアールディーラボ代表。