書籍概要

これからはじめる Python入門講座
——文法から機械学習までの基本を理解

著者
発売日
更新日

概要

本書は,筆者がオンライン大学で担当している「Python プログラミング演習」のカリキュラムを元にPythonを習得するうえで必須のポイントをまとめた1冊です。基本編では,学習環境の構築,Pythonの文法,実践編ではWebアプリケーションの開発,データサイエンス,機械学習の基礎などを流れに沿ってスムーズに学ぶことができます。

こんな方におすすめ

  • Pythonの文法からデータサイエンスや機械学習などの基礎までを習得したい人

サンプル

目次

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 学習過程やデータフローを見る

サポート

ダウンロード

サンプルファイルについて

(2023年11月15日更新)

本書内で使用するサンプルファイルは以下の通りです。

ダウンロード
sample_code.zip

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2022年12月20日最終更新)

※以下の4ヵ所について「;」を付けて実行してもエラーにはなりませんが,「;」を付けないのが正しい書き方となります。

P.104 sample3-4-1.py 6行目

print(dst_str);
print(dst_str)

「;」は不要です。

P.105 sample3-4-2.py 6行目

print(dst_str);
print(dst_str)

「;」は不要です。

P.105 sample3-4-3.py 7行目

print(dst_str);
print(dst_str)

「;」は不要です。

P.115 sample3-4-9.py 6行目

print(dst_str);
print(dst_str)

「;」は不要です。

商品一覧