これからはじめる Python入門講座 -- 文法から機械学習までの基本を理解
書籍情報
発売日 : 2022年12月23日
著者/編集 : 鶴長 鎮一
出版社 : 技術評論社
発行形態 : 単行本
書籍説明
内容紹介
オンライン大学の人気講義で現場で役立つ知識を身につけよう!
目次
◎Chapter 1 Pythonの概要と開発環境の導入
■1-1 Pythonの基本
■■1-1-1 Pythonの起源
■■1-1-2 Pythonの目指すところ
■■1-1-3 Pythonの需要
■■1-1-4 Pythonが支持される理由
■■1-1-5 Pythonの特徴
■■1-1-6 スタイルガイド PEP 8
Pythonのバージョン
■1-2 主なPython実行環境/IDE
■■1-2-1 Pythonの実行環境/IDE
■■1-2-2 OS標準のPython
■■1-2-3 Pythonの公式バイナリー
■■1-2-4 Pythonディストリビューション
■■1-2-5 オンライン開発環境
PSF Pythonコンソール
Google Cloud Platform
■1-3 Anacondaの導入と利用方法
■■1-3-1 Anacondaとは
Anaconda Navigator
Jupyter Notebook
JupyterLab
QtConsole
Spyder
Orange
RStudio(要追加インストール)
■■1-3-2 Anacondaのインストール(Windows)
インストール手順
■■1-3-3 Anacondaのインストール(macOS)
インストール手順
ターミナルの起動
■■1-3-4 Anaconda Navigatorの起動
■■1-3-5 QtConsoleの利用
■■1-3-6 Jupyter Notebookの利用
■■1-3-7 Anacondaのアップデート
◎Chpater 2 Pythonプログラミングの基礎
■2-1 基本変数(数値/四則演算)
■■2-1-1 学習の前に
■■2-1-2 基本的なデータ型
数値型
文字列型
■■2-1-3 変数の定義
■■2-1-4 数値型
■■2-1-5 文字列型
■■2-1-6 文字列の基本操作
文字列の代入
文字列の連結
文字列の繰り返し
文字列の抽出
■2-2 コレクション(リスト/タプル/セット/ディクショナリ)
■■2-2-1 コレクションの種類
■■2-2-2 リスト型
リスト型の定義
リスト型の操作(要素の取り出し)
リスト型の操作(要素の追加/取り替え、検索)
リスト型の操作(要素数を調べる)
■■2-2-3 タプル型
■■2-2-4 セット型
■■2-2-5 ディクショナリ型
■2-3 条件判断処理(if文)
■■2-3-1 if/elif/else
■■2-3-2 条件式
■■2-3-3 比較演算子と論理演算子
比較演算子
論理演算子
■2-4 繰り返し処理(for文/while文)
■■2-4-1 for文
for文の使用
break(for文)
continue(for文)
for~else
■■2-4-2 while文
while文の使用
break(while文)
continue(while文)
while~else
無限ループ
◎Chapter 3 オブジェクトとクラス/文字列操作
■3-1 Pythonスクリプトの実行方法
■3-2 オブジェクトとクラス(マルチバイト文字列、ファイル入出力)
■■3-2-1 クラス
■■3-2-2 コンストラクター
■■3-2-3 デストラクター
■■3-2-4 継承
■■3-2-5 多重継承
■■3-2-6 カプセル化
■3-3 文字列操作(オブジェクト、イテレータ/ジェネレーター)
■■3-3-1 文字列の分割
■■3-3-2 リストを結合して文字列を生成
■■3-3-3 先頭/末尾の文字列を削除
■■3-3-4 文字列の置換
■■3-3-5 アルファベットの大文字/小文字を変換する
■3-4 正規表現
■■3-4-1 Pythonでの正規表現の利用
■■3-4-2 正規表現を使ったPythonスクリプトの例
■■3-4-3 正規表現を使った文字列の置き換え
■■3-4-4 正規表現を使った文字列の分割
■■3-4-5 正規表現を使った文字列の検索
■■3-4-6 事前コンパイル
事前コンパイルの有効性
検索フラグ
■■3-4-7 raw文字列
■■3-4-8 正規表現で使用するメタ文字
■■3-4-9 正規表現で使用する文字クラス
■■3-4-10 正規表現で使用する特殊シーケンス
■■3-4-11 フラグ
■■3-4-12 日本語の扱い方
◎Chpater 4 関数とモジュール
■4-1 関数の基本
■■4-1-1 関数の基本
■■4-1-2 組み込み関数
■■4-1-3 関数の呼び出し方
■■4-1-4 関数の引数
■■4-1-5 関数の戻り値
■4-2 関数の定義
■■4-2-1 関数の定義
■■4-2-2 引数と戻り値の定義
■■4-2-3 さまざまな引数の定義
関数の引数にデフォルト値を設定する
引数の個数を可変長にする
■■4-2-4 ローカル変数
■4-3 モジュールの基本
■■4-3-1 モジュールとは
■■4-3-2 import文
■■4-3-3 import~as~文
■■4-3-4 from~import~文
■■4-3-5 モジュールを作って読み込む
■■4-3-6 モジュールをスクリプトとして実行する
■4-4 モジュールの探し方/インストール方法
■■4-4-1 モジュール検索パス
■■4-4-2 標準モジュール
■■4-4-3 サードパーティモジュール
■■4-4-4 モジュールのインストール
pip
conda
■■4-4-5 パッケージ
◎Chpater 5 DjangoによるWebアプリケーション開発
■5-1 Webアプリケーションの仕組み
■■5-1-1 静的/動的コンテンツとは
静的コンテンツ
動的コンテンツ
■■5-1-2 動的コンテンツが作成される仕組み
データを保存する仕組み
サービスを実現するためのロジック
■■5-1-3 データベースシステム
データベースシステムの種類
■■5-1-4 Webアプリケーションに必要な要素
ロジックを実現するサーバーサイドアプリケーション
データベースとの連携
Webアプリケーションの開発環境
■■5-1-5 サーバーサイドアプリケーションのデザインパターン
■■5-1-6 Webアプリケーションフレームワークの利用
開発効率や品質に大きな影響を与えるWebアプリケーションフレームワーク選び
■■5-1-7 WebアプリケーションフレームワークDjango
Djangoが提供する機能
Djangoが対応しているデータベースシステム
Djangoの開発思想
DjangoのMTVアーキテクチャー
■5-2 Djangoのインストール
■■5-2-1 Djangoのインストール方法
公式リリース版をインストールする(推奨)
OS(ディストリビューション)で提供されるものをインストールする
■■5-2-2 Djangoのインストール
公式リリース版Djangoのインストール
Anacondaパッケージ管理コマンドによるDjangoのインストール
■■5-2-3 Djangoのバージョン確認
■5-3 DjangoによるWebアプリケーションの作成
■■5-3-1 作成手順
■■5-3-2 作業上の注意
■■5-3-3 ①Djangoプロジェクトの作成
■■5-3-4 ②設定ファイルの修正
言語コードの変更
タイムゾーンの変更
■■5-3-5 ③Webアプリケーションの作成とDjangoプロジェクトへの登録
■■5-3-6 ④Viewの定義
■■5-3-7 ⑤URLディスパッチャーの作成
urls.pyファイルの新規作成
urls.pyファイルの修正
■■5-3-8 ⑥開発サーバーの起動
サービスポート番号の変更
■■5-3-9 ⑦動作確認
■5-4 データベースの操作
■■5-4-1 SQLite
■■5-4-2 sqlite3コマンドの実行
■■5-4-3 データベースファイルを開く
■■5-4-4 テーブルの作成(CREATE文)
■■5-4-5 データの挿入(INSERT文)
■■5-4-6 データの抽出(SELECT文)
■■5-4-7 データの更新(UPDATE)
■■5-4-8 データの削除(DELETE文)
■5-5 Templateの利用
■■5-5-1 Templateの役割
■■5-5-2 Templateフォルダの作成と設定ファイルの修正
■■5-5-3 Templateファイルの作成
■■5-5-4 Viewの修正
■■5-5-5 URLディスパッチャーの追加
■■5-5-6 動作確認
■■5-5-7 Templateに変数やデータを差し込む
■5-6 Modelの利用
■■5-6-1 データベースとModelクラス
■■5-6-2 Modelの作成
■■5-6-3 設定ファイルの修正
■■5-6-4 Modelとデータベースの同期
■■5-6-5 Modelを使って表示する
テンプレートファイルの作成
Viewの設定
URLディスパッチャーの追加
■■5-6-6 動作確認
◎Chpater 6 データサイエンス(解析/分析)の基礎
■6-1 データサイエンスとは
■■6-1-1 非構造化データであるビックデータ
■■6-1-2 データサイエンティストの業務
■6-2 データサイエンスとPython
■■6-2-1 NumPyとは
■■6-2-2 Pandasとは
■■6-2-3 NumPyやPandasの導入
■6-3 NumPyの利用
■■6-3-1 本節で学習すること
■■6-3-2 NumPyの基本操作
■■6-3-3 配列の生成
array( )関数を使った配列の作成
2次元配列の作成
0や1で埋まった配列の作成
未初期化の配列の作成
arange( )関数を使った配列の作成
■■6-3-4 配列の形状の変換
■■6-3-5 配列のprint
■■6-3-6 行列の演算
算術演算
行列積
算術結果でもとの配列を置き換える
型が異なる配列同士の演算結果
基本的統計関数
ユニバーサル関数
■■6-3-7 行列のインデックス参照、スライス
■■6-3-8 ファイルの入出力
ファイルへの書き出し
ファイルからの読み込み
■6-4 Pandasの利用
■■6-4-1 Pandasの基礎
■■6-4-2 SeriesとDataFrame
Series(シリーズ)
DataFrame(データフレーム)
■■6-4-3 Seriesの作成
リストをもとにしたSeriesの作成
NumPyの1次元配列をもとにしたSeriesの作成
ラベルの付与
■■6-4-4 Seriesの参照
インデックスやスライスを用いてアクセス
ラベル名でアクセス
■■6-4-5 DataFrameの作成
行単位での作成
列単位での作成
■■6-4-6 DataFrameの参照
インデックスやスライスによる行データへのアクセス
ラベル名による行データや列データへのアクセス
■■6-4-7 ファイルの入出力
ファイルへの書き出し
ファイルからの読み込み
■■6-4-8 各行の統計情報を表示
■■6-4-9 グラフの描画
グラフのインライン表示
サンプルデータの読み込み
折れ線グラフ
ヒストグラム(散布図)
その他のグラフ
◎Chpater 7 機械学習/ディープラーニングの基礎
■7-1 AI/機械学習/ディープラーニングとは
■■7-1-1 AI/機械学習/ディープラーニングの関係
■■7-1-2 機械学習の手法
教師あり学習
教師なし学習
強化学習
■■7-1-3 教師あり機械学習の回帰と分類
回帰
分類
■7-2 scikit-learnとTensorFlow
■■7-2-1 scikit-learnの特徴と利用方法
■■7-2-2 TensorFlowの特徴と利用方法
■7-3 scikit-learnの利用
■■7-3-1 scikit-learnの基礎
①データセットの用意
②アルゴリズムの選択
③学習
④予測・評価
■■7-3-2 ランダム値を使った線形回帰
①マジックコマンドの入力、ライブラリーのインポート
②データセットの用意
③アルゴリズムの選択と学習
④学習結果の表示
■■7-3-3 アヤメの計測データを使った分類/分析(SVM)
①マジックコマンドの入力、ライブラリーのインポート
②データの用意と確認
③トレーニングデータとテストデータに分割
④アルゴリズムの選択と学習
⑤学習結果の確認
■7-4 TensorFlowの利用
■■7-4-1 MNISTとは
■■7-4-2 TensorFlowの基礎
■■7-4-3 TensorFlowのインストール
Anacondaパッケージ管理コマンドによるインストール
Pythonパッケージ管理コマンドによるインストール
■■7-4-4 TensorFlowの動作確認
■■7-4-5 TensorFlowでMNISTを解く
■■7-4-6 チュートリアルスクリプトの実行
①TensorFlowライブラリーのインポート
②データセットの読み込み
③モデルの構築
④モデルの設定
⑤モデルの学習
⑥モデルの評価
■■7-4-7 学習過程やデータフローを見る
■1-1 Pythonの基本
■■1-1-1 Pythonの起源
■■1-1-2 Pythonの目指すところ
■■1-1-3 Pythonの需要
■■1-1-4 Pythonが支持される理由
■■1-1-5 Pythonの特徴
■■1-1-6 スタイルガイド PEP 8
Pythonのバージョン
■1-2 主なPython実行環境/IDE
■■1-2-1 Pythonの実行環境/IDE
■■1-2-2 OS標準のPython
■■1-2-3 Pythonの公式バイナリー
■■1-2-4 Pythonディストリビューション
■■1-2-5 オンライン開発環境
PSF Pythonコンソール
Google Cloud Platform
■1-3 Anacondaの導入と利用方法
■■1-3-1 Anacondaとは
Anaconda Navigator
Jupyter Notebook
JupyterLab
QtConsole
Spyder
Orange
RStudio(要追加インストール)
■■1-3-2 Anacondaのインストール(Windows)
インストール手順
■■1-3-3 Anacondaのインストール(macOS)
インストール手順
ターミナルの起動
■■1-3-4 Anaconda Navigatorの起動
■■1-3-5 QtConsoleの利用
■■1-3-6 Jupyter Notebookの利用
■■1-3-7 Anacondaのアップデート
◎Chpater 2 Pythonプログラミングの基礎
■2-1 基本変数(数値/四則演算)
■■2-1-1 学習の前に
■■2-1-2 基本的なデータ型
数値型
文字列型
■■2-1-3 変数の定義
■■2-1-4 数値型
■■2-1-5 文字列型
■■2-1-6 文字列の基本操作
文字列の代入
文字列の連結
文字列の繰り返し
文字列の抽出
■2-2 コレクション(リスト/タプル/セット/ディクショナリ)
■■2-2-1 コレクションの種類
■■2-2-2 リスト型
リスト型の定義
リスト型の操作(要素の取り出し)
リスト型の操作(要素の追加/取り替え、検索)
リスト型の操作(要素数を調べる)
■■2-2-3 タプル型
■■2-2-4 セット型
■■2-2-5 ディクショナリ型
■2-3 条件判断処理(if文)
■■2-3-1 if/elif/else
■■2-3-2 条件式
■■2-3-3 比較演算子と論理演算子
比較演算子
論理演算子
■2-4 繰り返し処理(for文/while文)
■■2-4-1 for文
for文の使用
break(for文)
continue(for文)
for~else
■■2-4-2 while文
while文の使用
break(while文)
continue(while文)
while~else
無限ループ
◎Chapter 3 オブジェクトとクラス/文字列操作
■3-1 Pythonスクリプトの実行方法
■3-2 オブジェクトとクラス(マルチバイト文字列、ファイル入出力)
■■3-2-1 クラス
■■3-2-2 コンストラクター
■■3-2-3 デストラクター
■■3-2-4 継承
■■3-2-5 多重継承
■■3-2-6 カプセル化
■3-3 文字列操作(オブジェクト、イテレータ/ジェネレーター)
■■3-3-1 文字列の分割
■■3-3-2 リストを結合して文字列を生成
■■3-3-3 先頭/末尾の文字列を削除
■■3-3-4 文字列の置換
■■3-3-5 アルファベットの大文字/小文字を変換する
■3-4 正規表現
■■3-4-1 Pythonでの正規表現の利用
■■3-4-2 正規表現を使ったPythonスクリプトの例
■■3-4-3 正規表現を使った文字列の置き換え
■■3-4-4 正規表現を使った文字列の分割
■■3-4-5 正規表現を使った文字列の検索
■■3-4-6 事前コンパイル
事前コンパイルの有効性
検索フラグ
■■3-4-7 raw文字列
■■3-4-8 正規表現で使用するメタ文字
■■3-4-9 正規表現で使用する文字クラス
■■3-4-10 正規表現で使用する特殊シーケンス
■■3-4-11 フラグ
■■3-4-12 日本語の扱い方
◎Chpater 4 関数とモジュール
■4-1 関数の基本
■■4-1-1 関数の基本
■■4-1-2 組み込み関数
■■4-1-3 関数の呼び出し方
■■4-1-4 関数の引数
■■4-1-5 関数の戻り値
■4-2 関数の定義
■■4-2-1 関数の定義
■■4-2-2 引数と戻り値の定義
■■4-2-3 さまざまな引数の定義
関数の引数にデフォルト値を設定する
引数の個数を可変長にする
■■4-2-4 ローカル変数
■4-3 モジュールの基本
■■4-3-1 モジュールとは
■■4-3-2 import文
■■4-3-3 import~as~文
■■4-3-4 from~import~文
■■4-3-5 モジュールを作って読み込む
■■4-3-6 モジュールをスクリプトとして実行する
■4-4 モジュールの探し方/インストール方法
■■4-4-1 モジュール検索パス
■■4-4-2 標準モジュール
■■4-4-3 サードパーティモジュール
■■4-4-4 モジュールのインストール
pip
conda
■■4-4-5 パッケージ
◎Chpater 5 DjangoによるWebアプリケーション開発
■5-1 Webアプリケーションの仕組み
■■5-1-1 静的/動的コンテンツとは
静的コンテンツ
動的コンテンツ
■■5-1-2 動的コンテンツが作成される仕組み
データを保存する仕組み
サービスを実現するためのロジック
■■5-1-3 データベースシステム
データベースシステムの種類
■■5-1-4 Webアプリケーションに必要な要素
ロジックを実現するサーバーサイドアプリケーション
データベースとの連携
Webアプリケーションの開発環境
■■5-1-5 サーバーサイドアプリケーションのデザインパターン
■■5-1-6 Webアプリケーションフレームワークの利用
開発効率や品質に大きな影響を与えるWebアプリケーションフレームワーク選び
■■5-1-7 WebアプリケーションフレームワークDjango
Djangoが提供する機能
Djangoが対応しているデータベースシステム
Djangoの開発思想
DjangoのMTVアーキテクチャー
■5-2 Djangoのインストール
■■5-2-1 Djangoのインストール方法
公式リリース版をインストールする(推奨)
OS(ディストリビューション)で提供されるものをインストールする
■■5-2-2 Djangoのインストール
公式リリース版Djangoのインストール
Anacondaパッケージ管理コマンドによるDjangoのインストール
■■5-2-3 Djangoのバージョン確認
■5-3 DjangoによるWebアプリケーションの作成
■■5-3-1 作成手順
■■5-3-2 作業上の注意
■■5-3-3 ①Djangoプロジェクトの作成
■■5-3-4 ②設定ファイルの修正
言語コードの変更
タイムゾーンの変更
■■5-3-5 ③Webアプリケーションの作成とDjangoプロジェクトへの登録
■■5-3-6 ④Viewの定義
■■5-3-7 ⑤URLディスパッチャーの作成
urls.pyファイルの新規作成
urls.pyファイルの修正
■■5-3-8 ⑥開発サーバーの起動
サービスポート番号の変更
■■5-3-9 ⑦動作確認
■5-4 データベースの操作
■■5-4-1 SQLite
■■5-4-2 sqlite3コマンドの実行
■■5-4-3 データベースファイルを開く
■■5-4-4 テーブルの作成(CREATE文)
■■5-4-5 データの挿入(INSERT文)
■■5-4-6 データの抽出(SELECT文)
■■5-4-7 データの更新(UPDATE)
■■5-4-8 データの削除(DELETE文)
■5-5 Templateの利用
■■5-5-1 Templateの役割
■■5-5-2 Templateフォルダの作成と設定ファイルの修正
■■5-5-3 Templateファイルの作成
■■5-5-4 Viewの修正
■■5-5-5 URLディスパッチャーの追加
■■5-5-6 動作確認
■■5-5-7 Templateに変数やデータを差し込む
■5-6 Modelの利用
■■5-6-1 データベースとModelクラス
■■5-6-2 Modelの作成
■■5-6-3 設定ファイルの修正
■■5-6-4 Modelとデータベースの同期
■■5-6-5 Modelを使って表示する
テンプレートファイルの作成
Viewの設定
URLディスパッチャーの追加
■■5-6-6 動作確認
◎Chpater 6 データサイエンス(解析/分析)の基礎
■6-1 データサイエンスとは
■■6-1-1 非構造化データであるビックデータ
■■6-1-2 データサイエンティストの業務
■6-2 データサイエンスとPython
■■6-2-1 NumPyとは
■■6-2-2 Pandasとは
■■6-2-3 NumPyやPandasの導入
■6-3 NumPyの利用
■■6-3-1 本節で学習すること
■■6-3-2 NumPyの基本操作
■■6-3-3 配列の生成
array( )関数を使った配列の作成
2次元配列の作成
0や1で埋まった配列の作成
未初期化の配列の作成
arange( )関数を使った配列の作成
■■6-3-4 配列の形状の変換
■■6-3-5 配列のprint
■■6-3-6 行列の演算
算術演算
行列積
算術結果でもとの配列を置き換える
型が異なる配列同士の演算結果
基本的統計関数
ユニバーサル関数
■■6-3-7 行列のインデックス参照、スライス
■■6-3-8 ファイルの入出力
ファイルへの書き出し
ファイルからの読み込み
■6-4 Pandasの利用
■■6-4-1 Pandasの基礎
■■6-4-2 SeriesとDataFrame
Series(シリーズ)
DataFrame(データフレーム)
■■6-4-3 Seriesの作成
リストをもとにしたSeriesの作成
NumPyの1次元配列をもとにしたSeriesの作成
ラベルの付与
■■6-4-4 Seriesの参照
インデックスやスライスを用いてアクセス
ラベル名でアクセス
■■6-4-5 DataFrameの作成
行単位での作成
列単位での作成
■■6-4-6 DataFrameの参照
インデックスやスライスによる行データへのアクセス
ラベル名による行データや列データへのアクセス
■■6-4-7 ファイルの入出力
ファイルへの書き出し
ファイルからの読み込み
■■6-4-8 各行の統計情報を表示
■■6-4-9 グラフの描画
グラフのインライン表示
サンプルデータの読み込み
折れ線グラフ
ヒストグラム(散布図)
その他のグラフ
◎Chpater 7 機械学習/ディープラーニングの基礎
■7-1 AI/機械学習/ディープラーニングとは
■■7-1-1 AI/機械学習/ディープラーニングの関係
■■7-1-2 機械学習の手法
教師あり学習
教師なし学習
強化学習
■■7-1-3 教師あり機械学習の回帰と分類
回帰
分類
■7-2 scikit-learnとTensorFlow
■■7-2-1 scikit-learnの特徴と利用方法
■■7-2-2 TensorFlowの特徴と利用方法
■7-3 scikit-learnの利用
■■7-3-1 scikit-learnの基礎
①データセットの用意
②アルゴリズムの選択
③学習
④予測・評価
■■7-3-2 ランダム値を使った線形回帰
①マジックコマンドの入力、ライブラリーのインポート
②データセットの用意
③アルゴリズムの選択と学習
④学習結果の表示
■■7-3-3 アヤメの計測データを使った分類/分析(SVM)
①マジックコマンドの入力、ライブラリーのインポート
②データの用意と確認
③トレーニングデータとテストデータに分割
④アルゴリズムの選択と学習
⑤学習結果の確認
■7-4 TensorFlowの利用
■■7-4-1 MNISTとは
■■7-4-2 TensorFlowの基礎
■■7-4-3 TensorFlowのインストール
Anacondaパッケージ管理コマンドによるインストール
Pythonパッケージ管理コマンドによるインストール
■■7-4-4 TensorFlowの動作確認
■■7-4-5 TensorFlowでMNISTを解く
■■7-4-6 チュートリアルスクリプトの実行
①TensorFlowライブラリーのインポート
②データセットの読み込み
③モデルの構築
④モデルの設定
⑤モデルの学習
⑥モデルの評価
■■7-4-7 学習過程やデータフローを見る
著者情報
鶴長 鎮一
鶴長 鎮一(つるなが しんいち)
大学院在学中からISPの立ち上げに携わり、現在はソフトバンク(株)に勤務。突出した知識やスキルを持つトップエンジニアとして「Technical Meister」に社内認定される。サイバー大学での講師をはじめ、AIインキュベーションの「DEEPCORE」での技術アドバイザリーなど、幅広い業務に従事。Software Design(技術評論社)や日経Linuxへの寄稿をはじめ、著書に「サーバ構築の実際がわかる Apache[実践]運用/管理(技術評論社)」、「Nginx ポケットリファレンス (技術評論社)」、「図解即戦力 Web技術がこれ1冊でしっかりわかる教科書(技術評論社)」ほか。
鶴長, 鎮一