+
+
+ Head First はじめてのプログラミング
+
+
+
+
+
+
Head First はじめてのプログラミング
――頭とからだで覚えるPythonプログラミング入門
+
+
+
+ -
+
- Eric Freeman 著、嶋田 健志 監訳、木下 哲也 訳 +
- + 2019年04月 発行 + +
- 636ページ +
- ISBN978-4-87311-874-1 +
- 原書: Head First Learn to Code +
- フォーマット +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+ + Pythonチュートリアル 第3版
+ + 入門 Python 3
+ + +
+
+ 脳の働きに注目し、脳を活性化させる学習効果の高い独自のスタイルで人気の高いHead Firstシリーズにプログラミング初心者向けバージョンが登場。Pythonを使ったプログラミングの基本について、イラストや写真を多用して直感的な理解を促します。やさしい切り口ながらも、データ型、データ構造、抽象化、再帰、モジュールなど、プログラミングの基本を段階的に学び、後半では複雑で大規模なアプリケーションの作成にも取り組みます。認知科学と教育心理学に基づいたアプローチで、プログラミングのテクニックだけではなく、論理的思考やプログラミング的な考え方を、楽しみながら身に付けられるように工夫されています。
+
+無料 お試し版
関連書籍
+ + + Head First Python 第2版+ + Pythonチュートリアル 第3版
+ + 入門 Python 3
+ + +
+
+
+
+
+
+ はじめに + +1章 コンピュータ的に考える:始めよう + 分解する + コーディングの手順 + 同じ言語で話している? + プログラミング言語の世界 + Pythonを使ったコードの記述と実行 + Pythonのざっくりした歴史 + Pythonを試す + 作業を保存する + おめでとう! 最初のPythonプログラムが書けました! + フレーズ・オ・マチック + コンピュータにコードを読ませる + +2章 単純な値、変数、型:値を知る + 犬年齢計算機のコーディング + 擬似コードからPythonのコードに変換する + 手順1:入力してもらう + input 関数の動作 + ユーザの入力を変数に代入する + 手順2:さらに入力してもらう + そろそろコードを実行してみよう + コードの入力 + 変数をさらに詳しく学ぶ + 式の追加 + 変数が「変」数と呼ばれる理由 + 演算子の優先順位をよく理解する + 演算子の優先順位を使った計算 + 寄り道をする! + 手順3:犬の年齢を計算する + ヒューストン、問題が発生した! + 誤りは(人)コードの常 + デバッグをもう少しだけ + Pythonの型とは? + コードの修正 + ヒューストン、発射した! + 手順4:ユーザフレンドリーな出力 + +3章 ブール型、判定、ループ:判定コード + ゲームをしない? + まずは骨組みの設計 + コンピュータの手 + 乱数の使い方 + ブール型って? + 判定する + 判定、そしてまた判定 + じゃんけんに戻る + ユーザの手を取得する + ユーザの手を調べる + あいこを判定するコードを追加する + 誰が勝った? + ゲームロジックの実装 + ブール演算子の詳細 + 説明を入れる + コードにコメントを追加する + ゲームを完成させる! + ユーザの手が無効かどうかをどのように判断する? + ユーザに尋ね続ける方法 + 何度も行う + while ループの動作 + whileを使って有効な手を選ぶまでユーザに尋ねる方法 + 初めてのゲームのコードが書けました。おめでとう! + +4章 リストと反復:構造を用意する + バブルザらス社を助けられる? + Pythonで複数の値を表現する方法 + リストの動作 + ところで、そのリストの大きさって? + リストの末尾の要素にアクセスする + Pythonではずっと簡単 + 負のインデックスを使う + 一方、バブルザらス社では + リストを反復処理する + 出力の問題を修正する + 出力の問題を実際に修正する + for ループ、それはリストの反復処理に最適な方法 + 数値の範囲に対するforループの動作 + 範囲をもっと使う + すべてをまとめる + ゼロからリストを作成する + リストをさらに使う + 最終レポートの試運転 + 最高スコアの溶液は? + 最も費用対効果の高い溶液はどれ? + +5章 関数と抽象化:関数にする + このコードのどこがいけないの? + コードブロックを関数に変換する + 関数が作成できました。さてどう使う? + 実際にはどのように機能しているの? + 関数は結果を返すこともできる + 戻り値のある関数を呼び出す + 少しだけリファクタリングしてみる + コードの実行 + アバターコードの抽象化方法 + get_attribute 関数の本体を書く + get_attribute を呼び出す + 変数についてもう少しお話しします + 変数スコープを理解する + 変数が関数に渡されるとき + drink_me関数を呼び出す + 関数でグローバル変数を使うということ + パラメータを深く理解する:デフォルト値とキーワード + デフォルトパラメータ値の使い方 + 必ず必須パラメータを最初に指定する! + キーワード引数を使う + キーワード引数とデフォルト値について + +おまけの章 ソートと入れ子の反復:データを整理する + バブルソートを理解する + 走査1から始める + バブルソートの擬似コード + Pythonでバブルソートを実装する + 溶液番号を割り出す + +6章 テキスト、文字列、ヒューリスティック:すべてを組み合わせる + データサイエンスにようこそ + 読みやすさはどのように計算する? + 実行計画 + 擬似コードを書く + 分析するテキストが必要 + 関数を用意する + 優先事項:テキスト内の単語の総数が必要 + 文の総数を求める + 関数count_sentencesを書く + 音節の数を求める。つまり、ヒューリスティックを好きになる + ヒューリスティックの作成 + ヒューリスティックを書く + 母音をカウントする + 連続する母音を無視する + 連続する母音を無視するコードを書く + 末尾のe、y、句読記号を取り除く + スライス(部分文字列)を利用する + ヒューリスティックコードを完成させる + 読みやすさ公式の実装 + さらに進める + +7章 モジュール、メソッド、クラス、オブジェクト:モジュール化する + 簡単なモジュールの復習 + グローバル変数__name__ + オフィスにおける会話の続き + analyze.py をモジュールとして使う + analyze.py にdocstringを追加する + 他のPythonモジュールを調べる + 待って、誰か「タートル」って言った?! + 自分だけのタートルを作成する + タートル研究所 + 2つ目のタートルを追加する + ところで、タートルって? + オブジェクトって何者? + わかった。じゃあ、クラスって? + オブジェクトとクラスの使い方 + メソッドと属性 + クラスとオブジェクトはどこにでもある + タートルレースの準備をする + ゲームを設計する + コーディングを始めよう + ゲームの準備をする + セットアップコードを書く + 落ち着いて! + レースを開始する + +8章 再帰と辞書:反復とインデックスを超えて + 異なる計算方法 + 別の方法を考える + 2つの場合のコードを書く + さらに練習しよう + 再帰を使って回文を探し出す + 再帰回文検出器を書く + アンチソーシャルネットワーク + 辞書とは + 辞書を作成する + キーと値は文字列でなくても大丈夫 + もちろん、キーは削除できる + まず存在するかどうかを調べる + 辞書の反復処理はどうなる? + アンチソーシャルネットワークで辞書を活用する + 属性を追加するにはどうすればいい? + アンチソーシャルネットワークの目玉機能 + 最も非社交的なユーザを探す + 関数呼び出しの結果を記憶しておける? + 辞書を使ってフィボナッチ結果を記憶する + 「メモ化」と呼ばれます + koch関数を詳しく調べる + コッホフラクタルを本格的に調べる + +9章 ファイルの保存と取得:永続性 + クレイジーリブを始める準備はいい? + クレイジーリブの動作 + 手順1:ファイルから文章のテキストを読み込む + ファイルパスの使い方 + 絶対パス + 終わったら後片付けを忘れずに! + ファイルをコードに読み込む + もう勘弁して + クレイジーリブゲームを完成させる! + 最終行をどのように判断するの? + クレイジーリブのテンプレートを読み込む + テンプレートテキストを処理する + 新たな文字列メソッドを使ってバグを修正する + 実際にバグを修正する + 本当に問題があるコードもある + 例外処理 + 明示的に例外を処理する + 例外を処理するようにクレイジーリブを更新する + 最後の手順:クレイジーリブを保存する + 残りのコードを更新する + +10章 Web API の利用:もっと外に目を向ける + Web APIを使って範囲を広げる + Web API の仕組み + すべてのWeb APIにはWebアドレスがある + 簡単なアップグレードをする + アップグレードする + あとは優れたWeb APIが必要なだけ + API を詳しく調べる + Web API はJSONを使ってデータを返す + リクエストモジュールをもう一度詳しく + 全体をまとめる:Open Notifyにリクエストする + JSONの使い方 + ISSデータにJSONモジュールを使う + グラフィックスを加える + Screenオブジェクトを使う + タートルを追加してISSを描画 + タートルは宇宙ステーションのようにも見える + ISSを忘れる−どこにいるの? + ISSのコードを仕上げる + +11章 ウィジェット、イベント、創発的な振る舞い:インタラクティブにする + 人工生命の不思議な世界へようこそ + ライフゲームを詳しく調べる + 作成するもの + 設計は適切ですか? + データモデルの作成 + グリッドを表す + ライフゲームの世代を計算する + セルの運命を計算する + モデルのコードを完成させる + ビューの作成 + 最初のウィジェットを作成する + 残りのウィジェットを追加する + レイアウトを修正する + グリッドレイアウトにウィジェットを配置する + グリッドレイアウトをコードに変換する + コントローラの作成 + update 関数の追加 + 新しい計算方式に取り組む + 開始/ 一時停止ボタンの動作 + 別の種類のイベント + 一定間隔で何度も呼び出す方法:afterメソッド + セルを直接入力する、そして編集する + grid_viewのハンドラを書く + パターンを追加する + オプションメニューのハンドラを書く + パターンローダを書く + ライフゲームシミュレータをさらに進化させる! + +12章 オブジェクト指向プログラミング:オブジェクト村への旅 + 別の方法で分割する + 要するにオブジェクト指向プログラミングって? + クラスを設計する + 最初のクラスを書く + コンストラクタの動作 + barkメソッドを書く + メソッドの動作 + 継承する + ServiceDog クラスの実装 + サブクラスとは + ServiceDog はDog である(IS-A) + IS-A関係を調べる + 振る舞いのオーバーライドと拡張 + 専門用語の街へようこそ + オブジェクトは別のオブジェクトを含む(HAS-A) + 犬用ホテルの設計 + 犬用ホテルの実装 + ホテルでのアクティビティを追加する + 可能なことは何でもできる(ポリモーフィズム) + 他の犬に歩き方を教える + 継承の威力(と役割) + +付録 未収録事項:(取り上げなかった)上位10 個のトピック + 1. リスト内包表記 + 2. 日付と時刻 + 3. 正規表現 + 4. その他のデータ型:タプル + 5. その他のデータ型:集合 + 6. サーバサイドプログラミング + 7. 遅延評価 + 8. デコレータ + 9. 高階関数と第一級関数 + 10. 多数のライブラリ + +索引+
+
+
+ -
+
+
- サンプルコード + +