関連サイト
本書の関連ページが用意されています。
内容紹介
シリーズ累計90万部突破の大人気入門書の改訂版!
コツ・しくみ・落とし穴をしっかり押さえるから初心者でもすぐにプログラミングを習得できる!
初心者でもすぐに身に付く秘密は、3つのコンセプトにあり!
【1】手軽にPythonをはじめられる
すぐに最初の一歩を踏み出せるよう、スマホやPCのWebブラウザでプログラミングができる「dokopy(ドコパイ)」※を用意しました。また、陥りがちなトラブルには、巻末の「エラー解決・虎の巻」で対策できます。
【2】「なぜ」「どうして」が必ずわかる
学習中浮かび上がる「なぜ?」「どうして?」をスルーせずに、しっかり答えを出して次のテーマに進む、シリーズ共通のスッキリ流解説によって、一歩一歩着実に理解を深めて短期間で知識を習得できます。
【3】今後に活かせる「基礎」を学べる
本書では初心者が利用する機会が少ない文法と、必ず覚えておきたい文法を切り分けて紹介。未経験者が基礎をしっかりと身に付けるとともに、機械学習やWebアプリケーション開発といった専門分野へつながる知識を習得することができます。
第2版では、令和の学習体験により適した、シンプルでスッキリとした紙面デザインへ全面的にリニューアルし、読みやすさ、使い勝手の向上を図っています。さらに、実践的なコーディング力を鍛える「ゲーム開発の総合演習」を追加。
本書を通じてプログラミングの楽しさを学び、新しい未来への道を拓いてみませんか。
※dokopyは新刊購入者用特典です。利用の前にインプレスのWebサイトで「dokopyご利用上の注意」をご確認ください。
書誌情報
- 著者: 国本大悟, 須藤秋良(著), 株式会社フレアリンク(監修)
- 発行日: 2023-11-06 (紙書籍版発行日: 2023-11-06)
- 最終更新日: 2023-11-06
- バージョン: 1.0.0
- ページ数: 416ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス
対象読者
Pythonに興味があるプログラミング入門者
著者について
国本大悟
文学部・史学科卒。大学では漢文を読みつつ、IT系技術を独学。会社でシステム開発やネットワーク・サーバ構築等に携わった後、フリーランスとして独立する。システムの提案、設計から開発を行う一方、プログラミングやネットワーク等のIT研修に力を入れており、大規模SIerやインフラ系企業での実績多数。
須藤秋良
株式会社フレアリンクCDSO(Chief Data Science Officer)。教育業界のデータ解析や医学研究の統計解析コンサルティングなどを行い、最近ではDjango やRailsを利用した機械学習Webアプリの開発といったエンジニア業務も務める。 また、これら業務の知見を活かし、データサイエンス系セミナーの研修講師も務め、これまで担当した研修受講者は総数3,000名を越える。
株式会社フレアリンク
目次
まえがき
- dokopyの使い方
- sukkiri.jpについて
- 本書の見方
●chapter 0 ようこそPythonの世界へ
- 0.1 ようこそPythonの世界へ
- 0.1.1 Pythonを使ってできること
- 0.1.2 一緒にPythonを学ぶ仲間たち
- 0.2 はじめてのプログラミング
- 0.2.1 はじめてのプログラミング
- 0.2.2 エラーと上手に付き合おう
- 0.3 Pythonプログラミングの基礎知識
- 0.3.1 開発の流れ
- 0.3.2 統合開発環境
- 0.3.3 プログラムの書き方
- 0.3.4 プログラミング体験を終えて
■第I部 Pythonの基礎を学ぼう
●chapter 1 変数とデータ型
- 1.1 式と演算
- 1.1.1 数値の演算
- 1.1.2 文字列の演算
- 1.1.3 エスケープシーケンス
- 1.1.4 ヒアドキュメント
- 1.1.5 式と評価
- 1.2 変数
- 1.2.1 変数の利用
- 1.2.2 変数名のルール
- 1.2.3 変数の上書き
- 1.2.4 まとめて代入(アンパック代入)
- 1.2.5 自分自身への代入
- 1.2.6 複合代入演算子
- 1.2.7 キーボード入力値の代入
- 1.3 データ型
- 1.3.1 データ型とは
- 1.3.2 データ型の変換
- 1.3.3 文字列の中に数値を埋め込む
- 1.3.4 f-string
- 1.4 第1章のまとめ
- 1.5 練習問題
●chapter 2 コンテナ
- 2.1 データの集まり
- 2.1.1 変数が持つ不便さ
- 2.2 リスト
- 2.2.1 リストの特徴
- 2.2.2 リストの作成
- 2.2.3 リストの要素を参照
- 2.2.4 リスト要素の合計と要素数の取得
- 2.2.5 リスト要素の追加・削除・変更
- 2.2.6 高度な要素の指定
- 2.3 ディクショナリ
- 2.3.1 ディクショナリの特徴
- 2.3.2 ディクショナリの作成
- 2.3.3 ディクショナリ要素の
- 2.3.4 ディクショナリ要素の追加と変更
- 2.3.5 ディクショナリ要素の削除
- 2.3.6 ディクショナリとリストの比較
- 2.4 タプルとセット
- 2.4.1 タプル
- 2.4.2 セット
- 2.5 コンテナの応用
- 2.5.1 コンテナの相互変換
- 2.5.2 コンテナのネスト
- 2.5.3 集合演算
- 2.6 第2章のまとめ
- 2.7 練習問題
●chapter 3 条件分岐
- 3.1 プログラムの流れ
- 3.1.1 文と制御構造
- 3.2 条件分岐の基本構造
- 3.2.1 if文
- 3.2.2 ブロックとインデント
- 3.3 条件式
- 3.3.1 比較演算子
- 3.3.2 in演算子
- 3.3.3 真偽値
- 3.3.4 論理演算子
- 3.4 分岐構文のバリエーション
- 3.4.1 3種類のif文
- 3.4.2 if-else構文
- 3.4.3 ifのみの構文
- 3.4.4 if-elif構文
- 3.4.5 if文のネスト
- 3.5 第3章のまとめ
- 3.6 練習問題
●chapter 4 繰り返し
- 4.1 繰り返しの基本構造
- 4.1.1 while文
- 4.1.2 無限ループ
- 4.1.3 状態による繰り返し
- 4.1.4 繰り返しによるリストの作成
- 4.1.5 繰り返しによるリスト要素の利用
- 4.2 for文
- 4.2.1 for 文による繰り返し
- 4.2.2 for 文の基本構造
- 4.2.3 for 文による決まった回数の繰り返し
- 4.2.4 while 文とfor文の使い分け
- 4.3 繰り返しの制御
- 4.3.1 繰り返しの強制終了
- 4.3.2 繰り返しのスキップ
- 4.3.3 break文とcontinue文
- 4.4 第4章のまとめ
- 4.5 練習問題
■第II部 Pythonで部品を組み上げよう
●chapter 5 関数
- 5.1 オリジナルの関数
- 5.1.1 関数の必要性とメリット
- 5.1.2 関数を使うための2ステップ
- 5.1.3 関数定義と呼び出し
- 5.1.4 ローカル変数と独立性
- 5.2 引数と戻り値
- 5.2.1 引数
- 5.2.2 複数の引数を渡す
- 5.2.3 戻り値
- 5.2.4 関数呼び出しの正体
- 5.2.5 関数の連携
- 5.3 関数の応用テクニック
- 5.3.1 暗黙のタプルによる複数の戻り値
- 5.3.2 デフォルト引数
- 5.3.3 引数のキーワード指定
- 5.3.4 可変長引数
- 5.4 独立性の破れ
- 5.4.1 グローバル変数
- 5.4.2 引数と戻り値の存在価値
- 5.5 第5章のまとめ
- 5.6 練習問題
●chapter 6 オブジェクト
- 6.1 「値」の正体
- 6.1.1 format関数の謎
- 6.1.2 オブジェクトの型
- 6.1.3 文字列オブジェクトが持つメソッド
- 6.2 オブジェクトの設計図
- 6.2.1 オブジェクトの姿を決定づける設計図
- 6.2.2 オリジナルの設計図を作る
- 6.3 オブジェクトの落とし穴
- 6.3.1 オブジェクトのidentity
- 6.3.2 参照
- 6.3.3 参照による副作用
- 6.3.4 防御的コピー
- 6.3.5 不変オブジェクト
- 6.4 第6章のまとめ
- 6.5 練習問題
●chapter 7 モジュール
- 7.1 部品を使おう
- 7.1.1 Pythonで使える部品たち
- 7.2 組み込み関数
- 7.2.1 組み込み関数とは
- 7.2.2 ファイル入出力
- 7.3 モジュールの利用
- 7.3.1 モジュールとは
- 7.3.2 標準ライブラリ
- 7.3.3 モジュールの取り込み
- 7.3.4 特定の変数や関数だけを取り込む
- 7.3.5 ワイルドカードインポート
- 7.3.6 モジュール取り込みのまとめ
- 7.4 パッケージの利用
- 7.4.1 パッケージとは
- 7.4.2 パッケージ内のモジュールを取り込む
- 7.5 外部ライブラリの利用
- 7.5.1 外部ライブラリとは
- 7.5.2 外部ライブラリの準備
- 7.5.3 matplotlib
- 7.5.4 requests
- 7.6 第7章のまとめ
- 7.7 練習問題
chapter 8 まだまだ広がるPythonの世界
- 8.1 Pythonの可能性
- 8.1.1 まだまだ広がるPythonの世界
- 8.1.2 ルーチンワークの自動化
- 8.1.3 データベースの操作
- 8.1.4 ウィンドウアプリケーションの作成
- 8.1.5 Webアプリケーションの作成
- 8.1.6 IoTアプリケーションの作成
- 8.1.7 APIによるチャットボットの利用
- 8.1.8 データ分析・機械学習
- 8.2 Pythonの基礎を学び終えて
- 8.2.1 終わりに
●付録A エラー解決・虎の巻
- A.1 エラーとの上手な付き合い方
- A.1.1 エラー解決の3つのコツ
- A.1.2 エラーメッセージの読み方
- A.1.3 スタックトレース
- A.2 トラブルシューティング
- A.2.1 構文エラーが発生した
- A.2.2 実行時エラーが発生した
- A.2.3 実行時エラーは出ないが動作がおかしい
- A.3 例外処理
- A.3.1 例外処理とは
- A.3.2 エラーの内容に応じて対応する
●付録B パズルRPGの製作
- B.1 ゲーム開発をしよう!
- B.1.1 これまでより大きなプログラムを作ってみよう
- B.1.2 2 つの開発手法
- B.1.3 シーケンス図
- B.2 ゲームの仕様
- B.2.1 ゲームの全体像
- B.2.2 ゲームの流れ
- B.2.3 パラメータの概要
- B.2.4 モンスター基本情報
- B.2.5 属性システム
- B.2.6 バトルシステム
- B.2.7 ダメージルール
- B.2.8 開発の流れと全体像
- B.3 課題1 全体の流れの開発①
- B.3.1 課題1のゴール
- B.3.2 ソースファイルの作成
- B.3.3 main関数とgo_dungeon関数の作成
- B.4 課題2 全体の流れの開発②
- B.4.1 課題2のゴール
- B.4.2 シーケンス図の解釈
- B.4.3 do_battle関数の作成と呼び出し
- B.4.4 main関数に機能を追加
- B.5 課題3 敵モンスターの実装
- B.5.1 課題3のゴール
- B.5.2 敵モンスターの作成
- B.5.3 敵モンスターの管理
- B.5.4 バトル処理の改良
- B.5.5 print_monster_name関数の作成
- B.5.6 カラー表示機能の追加
- B.6 課題4 味方パーティの実装
- B.6.1 課題4のゴール
- B.6.2 味方モンスターの作成
- B.6.3 organize_party関数の作成
- B.6.4 go_dungeon関数にパーティを渡す
- B.6.5 show_party関数の作成
- B.6.6 バトル終了時の判定を追加
- B.7 課題5 バトルの基本的な流れの開発
- B.7.1 課題5のゴール
- B.7.2 ターン管理関数の作成
- B.7.3 do_battle関数からの呼び出し
- B.7.4 ダメージ計算関数の作成
- B.7.5 旅を続けよう