Pythonライブラリの使い方 第2版
GUIから機械学習プログラミングまで
著者 | 松田 晃一 |
---|---|
判型 | B5変型、424頁 |
ISBN | 978-4-87783-537-8 |
価格 | 本体 3,600円 |
発行日 | 2019年8月10日(初版第1刷) | 2023年1月20日(第2版第1刷) |
本書について
本書は、好評既刊書『Pythonライブラリの使い方』の改訂版です。Python本体やライブラリのバージョンアップに伴なって記述を修正しました。
今日、最も注目されているプログラミング言語の1つであるPythonは、言語そのものの機能の高さもさることながら、言語に関する情報へのアクセスの良さ、その言語から使用できるライブラリの豊富さ、それを支えるコミュニティを含めたエコシステムの充実によって高い評価を得ています。
実際、Pythonは、機械学習、画像処理、Webスクレイピングや、自然言語処理、科学技術計算、ロボットのアプリケーション開発(ROS)、IoTや組み込みシステムなどさまざまな分野で利用されてきており、それを支えるライブラリの開発も活発です。
本書は、そのようなPythonのライブラリの中から比較的手軽に利用でき、知っておくと便利そうなものを選び、サンプルプログラムとともに説明したものです。サンプルプログラムは200個以上あり、ダウンロードサービスからすべて取得できます。全部で12種類のライブラリを扱っており、第1章はそのライブラリを用いたサンプルプログラムを読むのに必要なPythonの知識を概説しています。それ以降は各ライブラリの説明になりますが、それぞれのライブラリをなるべく等しく扱うために各章を20~40ページとしてあります。基本的にはどの章から読まれても大丈夫だと思いますが、第10~13章は互いに関連するため続けて読まれることをお勧めします。
目次
- 前書き
- 0.1 新しそうで古い言語Python
- 0.2 Pythonのインストールとプログラムの実行
- 0.3 インタラクティブシェル
- 0.4 インタラクティブシェルでの実行
- 0.5 プログラムの作成、保存、実行
- 0.6 まとめ
- 第1章 Python概説
-
- 1.1 変数とデータ
- 1.2 変数
- 1.3 文字列
- 1.4 リスト
- 1.5 タプル
- 1.6 辞書
- 1.7 条件分岐(if文)
- 1.8 繰り返し(while文)
- 1.9 繰り返し(for文)
- 1.10 関数
- 1.11 クラス
- 1.12 ライブラリの読み込みとインストール
- 1.13 まとめ
- 第2章 ファイル入出力(file)
-
- 2.1 ファイルを読み込み、内容を表示する
- 2.2 1行ずつ読み込む
- 2.3 ファイルを閉じる
- 2.4 ファイルが存在しない場合
- 2.5 ファイルの内容で図形を描画する
- 2.6 ファイルに書き込む
- 2.7 ファイルに追記する
- 2.8 withを用いたファイル処理
- 2.9 日本語を扱う
- 2.10 その他の操作
- 2.11 まとめ
- 第3章 GUIプログラミング(tkinter)
-
- 3.1 ウィンドウを表示する
- 3.2 ラベルを配置する
- 3.3 ボタンを配置する
- 3.4 四角形を描画する
- 3.5 チェックボックスを配置する
- 3.6 スライダを使う
- 3.7 1行入力
- 3.8 テキスト部品
- 3.9 メッセージボックス
- 3.10 図形をアニメーションさせる
- 3.11 まとめ
- 第4章 グラフを描く(matplotlib)
-
- 4.1 折れ線グラフを描いてみる
- 4.2 複数のデータを1つのグラフに書いてみる
- 4.3 色々な種類のグラフ
- 4.4 まとめ
- 第5章 スクレイピング(bs4)
-
- 5.1 Beautiful Soupを使用できるようにする
- 5.2 スクレイピングの処理の流れ
- 5.3 HTMLの要素を取得する
- 5.4 URLにアクセスしてHTMLを取得する
- 5.5 時間間隔をあける
- 5.6 複数ページにアクセスする
- 5.7 スクレイピングでの注意事項
- 5.8 まとめ
- 第6章 データベース(SQLite)
-
- 6.1 SQLite3を使用できるようにする
- 6.2 関係データベースとは
- 6.3 プログラムの基本パターン
- 6.4 テーブルの作成
- 6.5 DB Browser for SQLiteの使用方法
- 6.6 データベースの操作
- 6.7 スクレイピングとデータベースとの連携
- 6.8 まとめ
- 第7章 自然言語処理(Janome)
-
- 7.1 Janomeを使用できるようにする
- 7.2 形態素解析する
- 7.3 個々の解析結果を扱う
- 7.4 単語の出現回数を数える
- 7.5 HTMLからタグを外す
- 7.6 ユーザ辞書
- 7.7 フィルタの作り方
- 7.8 まとめ
- 第8章 ネットワーク(socket)
-
- 8.1 クライアントサーバモデル
- 8.2 相手をどうやって指定するか?
- 8.3 まず実行してみましょう
- 8.4 プログラムの基本パターン
- 8.5 最も短いクライアントサーバプログラム
- 8.6 複数のクライアントと何度も通信できるようにする
- 8.7 チャットプログラムを作成する
- 8.8 まとめ
- 第9章 Webアプリケーション(Django)
-
- 9.1 Djangoを使用できるようにする
- 9.2 Djangoプロジェクトを作成する
- 9.3 設定ファイルの変更
- 9.4 Webの仕組み
- 9.5 Djangoアプリケーションを作成する
- 9.6 テンプレートを使う
- 9.7 入力されたデータを処理する
- 9.8 まとめ
- 第10章 数値計算(NumPy)
-
- 10.1 ベクトル、行列の作り方
- 10.2 部分配列へのアクセス
- 10.3 加減、スカラー倍、乗除算
- 10.4 内積、行列同士の積
- 10.5 NumPy配列の変換
- 10.6 型変換
- 10.7 csvファイルの読み込み
- 10.8 連立一次方程式の解法の実装
- 10.9 分類器の実装
- 10.10 NumPy配列の表示
- 10.11 NumPyの関数リスト
- 10.12 まとめ
- 第11章 画像処理(OpenCV)
-
- 11.1 OpenCVを使用できるようにする
- 11.2 画像は何からできているか?
- 11.3 画像を表示する
- 11.4 ピクセルの値を調べる
- 11.5 グレースケール化する
- 11.6 二値化処理
- 11.7 フィルタ処理
- 11.8 物体検出
- 11.9 動画を表示する
- 11.10 動物体検出
- 11.11 まとめ
- 第12章 機械学習入門(scikit-learn)
-
- 12.1 機械学習とは?
- 12.2 学習方法
- 12.3 ニューラルネットワーク
- 12.4 第1世代: 単純パーセプトロン
- 12.5 第2世代:多層パーセプトロン
- 12.6 scikit-learn
- 12.7 画像認識プログラム
- 12.8 まとめ
- 第13章 畳み込みニューラルネットワーク(Keras)
-
- 13.1 TensorFlowとKerasを使えるようにする
- 13.2 多層パーセプトロンの実装
- 13.3 畳み込みニューラルネットワークの実装
- 13.4 自前のデータセットを使う
- 13.5 学習済みのモデル
- 13.6 ファインチューニング
- 13.7 まとめ
- 付録A 他言語を知っている人へのメモ
- 付録B Google Colaboratoryの使い方