改訂新版 最短距離でゼロからしっかり学ぶ Python入門 実践編
〜ゲーム開発・データ可視化・Web開発
〜ゲーム開発・
2024年10月31日紙版発売
2024年10月31日電子版発売
Eric Matthes 著,鈴木たかのり,安田善一郎 翻訳
B5変形判/360ページ
定価3,850円(本体3,500円+税10%)
ISBN 978-4-297-14526-2
書籍の概要
この本の概要
世界で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を使用してフォントを設定する