書籍概要

改訂新版 最短距離でゼロからしっかり学ぶ Python入門 実践編
〜ゲーム開発・データ可視化・Web開発

著者
発売日
更新日

概要

世界で150万部突破の「PYTHON CRASH COURSE」の翻訳版,「最短距離でゼロからしっかり学ぶ Python入門 実践編」の改訂新版です。Python 3.7から3.11へのアップデート,ライブラリのアップデートのほか,書籍で使用するエディターをSublime TextからVisual Studio Codeに変更します。実践編では,インベーダーゲーム開発,データ可視化,Webアプリケーション開発の各テーマについて,手を動かしながら学ぶ形でわかりやすく解説します。

こんな方におすすめ

  • Pythonをゼロから短期間で習得したい人
  • プログラマーの目線で,コードの書き方を学びたい人
  • プログラミングのしっかりした知識をはじめから身につけたい人

目次

プロジェクト1 エイリアン侵略ゲーム

第1章 弾を発射する宇宙船

  • プロジェクトの計画を立てる
  • Pygameをインストールする
  • ゲームのプロジェクトを開始する
    • Pygameの画面を作成してユーザーの入力を受け付ける
    • フレームレートを制御する
    • 背景色を設定する
    • Settingsクラスを作成する
  • 宇宙船の画像を追加する
    • Shipクラスを作成する
    • 宇宙船を画面に描画する
  • リファクタリング:_check_events()と_update_screen()メソッド
    • _check_events()メソッド
    • _update_screen()メソッド
  • 宇宙船を操縦する
    • キー入力に反応する
    • 連続した移動に対応する
    • 左右に移動する
    • 宇宙船のスピードを調整する
    • _check_events()をリファクタリングする
    • Qが押されたら終了する
    • ゲームをフルスクリーンモードで実行する
  • 振り返り
    • alien_invasion.py
    • settings.py
    • ship.py
  • 弾を発射する
    • 弾の設定を追加する
    • Bulletクラスを作成する
    • 複数の弾をグループに保存する
    • 弾を発射する
    • 古い弾を削除する
    • 弾の数を制限する
    • _update_bullets()メソッドを作成する
  • まとめ

第2章 エイリアン!

  • プロジェクトをレビューする
  • 最初のエイリアンを生成する
    • Alienクラスを作成する
    • Alienのインスタンスを生成する
  • エイリアンの艦隊を編成する
    • 1列のエイリアンを作成する
    • _create_fleet()をリファクタリングする
    • 複数の列を追加する
  • 艦隊を動かす
    • エイリアンを右に移動する
    • 艦隊の移動する方向の設定を追加する
    • エイリアンがどちらかの端に到達したかを確認する
    • 艦隊を下に移動して進行方向を変える
  • エイリアンを撃つ
    • 弾が衝突したことを検出する
    • テスト用に大きな弾を作成する
    • 艦隊を再度出現させる
    • 弾のスピードを上げる
    • _update_bullets()をリファクタリングする
  • ゲームを終了する
    • エイリアンと宇宙船の衝突を検出する
    • エイリアンと宇宙船の衝突に対応する
    • エイリアンが画面の一番下に到達する
    • ゲームオーバー!
    • ゲームの状態によって実行される箇所を明確にする
  • まとめ

第3章 得点を表示する

  • Playボタンを追加する
    • Buttonクラスを作成する
    • 画面にボタンを描画する
    • ゲームを開始する
  • ゲームをリセットする
    • ゲーム開始ボタンを無効化する
    • マウスカーソルを隠す
  • レベルアップする
    • 速度の設定を変更する
    • 速度をリセットする
  • 得点を表示する
    • 得点を画面に表示する
    • スコアボードを作成する
    • エイリアンを撃ち落とすと得点を更新する
    • 得点をリセットする
    • 撃ち落としたすべての点数を確認する
    • エイリアンの点数を増やす
    • 得点を丸める
    • ハイスコア
    • レベルを表示する
    • 宇宙船の数を表示する
  • まとめ

プロジェクト2 データの可視化

第4章 データを生成する

  • Matplotlibをインストールする
  • 簡単な折れ線グラフを描画する
    • ラベルと線の太さを変更する
    • グラフを修正する
    • 組み込みのスタイルを使用する
    • scatter()で複数の点にスタイルを指定して描画する
    • scatter()で連続した点を描画する
    • データを自動的に計算する
    • 軸ラベルをカスタマイズする
    • 色をカスタマイズする
    • カラーマップを使用する
    • グラフを自動的に保存する
  • ランダムウォーク
    • RandomWalkクラスを作成する
    • 方向を選択する
    • ランダムウォークを描画する
    • 複数のランダムウォークを生成する
    • ランダムウォークにスタイルを設定する
  • Plotlyでサイコロを転がす
    • Plotlyをインストールする
    • Dieクラスを作成する
    • サイコロを転がす
    • 結果を分析する
    • ヒストグラムを作成する
    • グラフをカスタマイズする
    • 2個のサイコロを転がす
    • さらにカスタマイズする
    • 異なるサイズのサイコロを転がす
    • グラフを保存する
  • まとめ

第5章 データをダウンロードする

  • CSVファイル形式
    • CSVファイルのヘッダーを解析する
    • ヘッダーとその位置を出力する
    • データを抽出して読み込む
    • 気温のグラフにデータを描画する
    • datetimeモジュール
    • 日付を描画する
    • 長い時間の範囲を描画する
    • 2番目のデータを描画する
    • グラフ内の領域に陰影をつける
    • エラーをチェックする
    • データをダウンロードする
  • 地球全体のデータセットを地図に描画する(GeoJSON 形式)
    • 地震データをダウンロードする
    • GeoJSONデータを調査する
    • すべての地震のリストを作成する
    • マグニチュードを取り出す
    • 位置データを取り出す
    • 世界地図を構築する
    • マグニチュードを表現する
    • マーカーの色をカスタマイズする
    • 他のカラースケール
    • ホバーテキストを追加する
  • まとめ

第6章 APIを取り扱う

  • APIを使う
    • GitとGitHub
    • API呼び出しを使用してデータをリクエストする
    • Requestsをインストールする
    • APIのレスポンスを処理する
    • レスポンスの辞書を処理する
    • 上位のリポジトリを要約する
    • API利用頻度の制限を監視する
  • Plotlyを使ってリポジトリを可視化する
    • グラフにスタイルを設定する
    • カスタマイズしたツールチップを追加する
    • クリック可能なリンクを追加する
    • マーカーの色をカスタマイズする
    • PlotlyおよびGitHub APIについてさらに詳しく
  • Hacker NewsのAPI
  • まとめ

プロジェクト3 Webアプリケーション

第7章 Djangoをはじめる

  • プロジェクトの準備をする
    • 仕様書を作成する
    • 仮想環境を作成する
    • 仮想環境を有効化する
    • Djangoをインストールする
    • Djangoプロジェクトを作成する
    • データベースを作成する
    • プロジェクトを表示する
  • アプリケーションを開始する
    • モデルを定義する
    • モデルを有効化する
    • Django管理サイト
    • Entryモデルを定義する
    • Entryモデルをマイグレーションする
    • 管理サイトにEntryモデルを登録する
    • Djangoシェル
  • ページを作成する:学習ノートのホームページ
    • URLを対応付ける
    • ビューを作成する
    • テンプレートを作成する
  • 追加のページを作成する
    • テンプレートの継承
    • トピック一覧ページ
    • 個別トピックのページ
  • まとめ

第8章 ユーザーアカウント

  • ユーザーがデータを入力できるようにする
    • 新しいトピックを追加する
    • 新しい記事を追加する
    • 記事を編集する
  • ユーザーアカウントを設定する
    • accountsアプリケーション
    • ログインページ
    • ログアウトする
    • ユーザー登録ページ
  • ユーザーが自分のデータを持てるようにする
    • @login_requiredを使用してアクセスを制限する
    • データを特定のユーザーと関連付ける
    • トピックへのアクセスを適切なユーザーに制限する
    • ユーザーのトピックを保護する
    • edit_entryページを保護する
    • 新しいトピックを現在のユーザーと関連付ける
  • まとめ

第9章 アプリケーションのスタイル設定とデプロイ

  • 「学習ノート」にスタイルを設定する
    • django-bootstrap5アプリケーション
    • 「学習ノート」のスタイルにBootstrapを使用する
    • base.htmlを変更する
    • Jumbotronを使用してホームページにスタイルを設定する
    • ログインページにスタイルを設定する
    • トピック一覧ページにスタイルを設定する
    • 個別トピックページの各記事にスタイルを設定する
  • 「学習ノート」をデプロイする
    • Platform.shのアカウントを作成する
    • Platform.sh CLIをインストールする
    • platformshconfig をインストールする
    • requirements.txtファイルを作成する
    • デプロイに必要な追加の要件
    • 設定ファイルを追加する
    • Platform.sh用にsettings.pyを変更する
    • プロジェクトファイルを追跡するためにGitを使う
    • Platform.shにプロジェクトを作成する
    • Platform.shにプッシュする
    • 公開されたプロジェクトを確認する
    • Platform.shのデプロイを改良する
    • 公開中のプロジェクトを保護する
    • 変更をコミットしてプッシュする
    • エラーページをカスタマイズする
    • 開発を継続する
    • Platform.shプロジェクトを削除する
  • まとめ

付録

  • A バージョン管理にGitを使う
    • Gitをインストールする
    • プロジェクトを作成する
    • ファイルを無視する
    • リポジトリを初期化する
    • 状態を確認する
    • リポジトリにファイルを追加する
    • コミットを作成する
    • ログを確認する
    • 2番目のコミット
    • 変更を破棄する
    • 過去のコミットをチェックアウトする
    • リポジトリを削除する
  • B デプロイのトラブルシューティング
    • デプロイを理解する
    • 基本的なトラブルシューティング
    • OS特有のトラブルシューティング
    • その他のデプロイ方法
  • C Matplotlibに日本語フォントを設定する
    • 日本語はデフォルト設定では文字化けする
    • 設定ファイルにフォントを設定する
    • rcParamsを使用してフォントを設定する

サポート

ダウンロード

サンプルコードにつきまして

(2024年11月5日更新)

サンプルコードや演習問題の解答の一部などは,次のWebページからダウンロードしてご利用いただけます。

https://github.com/takanory/saitan-python2
本書で使用している画像,CSVファイルなど:
jissenhen_resources.zip

実践編のサンプルコード,画像,CSVファイルなどは下記もご利用ください。

https://github.com/takanory/saitan-python2/tree/main/%E5%AE%9F%E8%B7%B5%E7%B7%A8

商品一覧