ISBN 9784065218839

ゼロから学ぶPythonプログラミング Google Colaboratoryでらくらく導入

ゼロから学ぶPythonプログラミング Google Colaboratoryでらくらく導入
著者
渡辺 宙志
出版社
講談社
刊行
2020-12

概要

環境構築ゼロで始め、数値シミュレーションと機械学習の入口まで到達する

想定読者

プログラミング未経験からPythonを学ぶ大学生・社会人。手元環境の構築が面倒で躊躇している人、または数値計算・機械学習の入門として体系的な教科書を探している人

こんな人には向いていない

  • Pythonの基礎をすでに習得しており、実務レベルのWeb開発やデータ分析手法を深めたい人には内容が基礎寄りすぎる
  • NumPy・SciPyを使った科学計算を本格的に学びたい場合、本書は入口の紹介にとどまるため別途専門書が必要になる
  • 機械学習の理論や実装を深く掘り下げたい人向けではなく、最終章は機械学習の雰囲気をつかむ程度の位置づけ

読了後にできるようになること

  • Google Colaboratoryを使いローカル環境なしにPythonを即座に実行できるようになる
  • 条件分岐・繰り返し・関数・クラスなどPythonの基礎文法を実動作と対応させて理解できる
  • 再帰呼び出しや動的計画法など、アルゴリズム的思考の基礎を実装レベルで身につけられる
  • NumPy・SciPyを使った数値計算・シミュレーションの流れを体験できる
  • CPythonのバイトコード実行など、Pythonが内部でどう動くかの基本的な仕組みを把握できる
  • 問題を『自動化できるはずだ』と考える『プログラマ的感覚』を習得するための土台が作れる

本書のキー概念(章解説)

  • 第 1 章 Pythonの概要とGoogle Colabの使い方 — 環境構築ゼロで始められる点がこの章の核心。最初に手を動かせる状態にする
  • 第 2 章 条件分岐と繰り返し処理
  • 第 3 章 関数とスコープ
  • 第 4 章 リストとタプル
  • 第 5 章 文字列処理
  • 第 6 章 ファイル操作
  • 第 7 章 再帰呼び出し — アルゴリズム的思考の転換点。再帰の感覚をつかむと後の動的計画法章が大幅にスムーズになる
  • 第 8 章 クラスとオブジェクト指向
  • 第 9 章 NumPyとSciPyの使い方 — 科学計算系の読者が目的とする章。前半の基礎を流し読みしてもここから入れる
  • 第 10 章 Pythonはどうやって動くのか — CPythonのバイトコード実行を解説する異色の章。実用よりも理解深化目的
  • 第 11 章 動的計画法
  • 第 12 章 乱数を使ったプログラム
  • 第 13 章 数値シミュレーション
  • 第 14 章 簡単な機械学習 — 入口紹介の位置づけ。機械学習を深く学びたい場合は本書読了後に専門書へ進む必要がある

ハイライト

  • なぜプログラミングを覚えるべきか。それはAIがブームだからでもない。『プログラマ的感覚』を身につけるためだ。細かい文法などは最初は気にせず、必要に応じて調べれば良い(本書の学習目的が最も端的に表現されている箇所。文法暗記ではなく思考様式の習得を掲げている点が他の入門書と異なる)
  • 毎日決まった時間にウェブサイトにアクセスして値を読み取る『仕事』が与えられた時に、ツールと自動実行の組み合わせを思えるかどうか。これが『プログラマ的感覚』である(プログラマ的思考が日常業務にどう適用されるかを具体例で示した記述。読者が自分の業務に引き付けて考えやすい)

外部からの言及

  • 著者の無料公開講義資料(python_zero)は、CPythonのバイトコード実行やニュートン法の可視化を解説する文脈でQiita記事から参照されている。書籍の土台となる内容が教育素材として流通している(qiita)

編集メモ

ISBNによるQiita直接引用は確認できず。著者の無料公開講義資料(kaityo256.github.io/python_zero)がQiita記事3件以上で参照されており、82いいねのCPython解説記事を含む。ただし書籍版への言及ではないため数値シグナルは弱い。大学教科書採用実績があり、Google Colab入門という切り口の希少性で補完的価値あり

読む前に押さえておきたいこと

  • 前提知識は不要。高校数学の基礎(数列・関数の概念)があると第11〜13章の読みやすさが上がる程度
  • Google ChromeなどのモダンブラウザとGoogleアカウントがあれば環境構築は完結する

学習のコツ

  • 第1章でGoogle Colabの操作に慣れたら、第9章(NumPy/SciPy)を先に確認して自分の目的地を確かめると、中盤の基礎章を読む動機が維持しやすい
  • 第10章(Pythonの動作原理)は実用上必須ではないが、速度問題に直面したときに立ち返ると理解が深まる。初読は流し読みでよい
  • 各章末の練習問題は解かずに先に進んでも全体の流れはつかめるが、第7章(再帰)と第11章(動的計画法)の問題は解いておくとアルゴリズム思考の定着度が大きく変わる
  • 著者の公開講義資料(kaityo256.github.io/python_zero)は書籍と対応しており、スライドや補足資料を並行参照すると理解の補強になる
出版社による内容紹介

【初学者納得、玄人脱帽!】  SNSで大絶賛の名講義がついに書籍化! ・問題解決に必要な「プログラマ的感覚」が身につく!  ・基礎から解説し、プログラミングにはじめて触れる読者を、簡単な数値シミュレーションや機械学習まで導く。充実の目次! ・Google Colaboratoryで環境構築も簡単。教科書として最適! 【主な内容】 第1章 Pythonの概要とGoogle Colabの使い方 第2章 条件分岐と繰り返し処理 第3章 関数とスコープ 第4章 リストとタプル 第5章 文字列処理 第6章 ファイル操作 第7章 再帰呼び出し 第8章 クラスとオブジェクト指向 第9章 NumPyとSciPyの使い方 第10章 Pythonはどうやって動くのか 第11章 動的計画法 第12章 乱数を使ったプログラム 第13章 数値シミュレーション 第14章 簡単な機械学習 (詳細:https://www.kspub.co.jp/book/detail/5218839.html ) 【「はじめに」より抜粋】  なぜプログラミングを覚えるべきか。それは今後プログラミングが就職活動の必須スキルになるからではなく、ましてAI がブームだからでもない。「プログラマ的感覚」を身につけるためだ。(…)エクセルを使っていても、面倒な処理を見た時に「これは一括でできるマクロがあるに違いない」と思って探すかどうか。毎日決まった時間に、あるウェブサイトにアクセスして、ある値を読み取らないといけないという「仕事」が与えられた時に、「ウェブサイトにアクセスして値を読み込めるツールがあるに違いない。毎日決まった時間に何かを自動的に実行する方法があるに違いない。それらを組み合わせれば良い」と思えるかどうか。これが「プログラマ的感覚」である。  (…)細かい文法などは最初は気にせず、必要に応じて調べれば良い。「Python はこういうことができるんだな」「それはこれくらいの作業量でできるんだな」という「感覚」を頭の片隅に残すこと、それを目的として学習して欲しい。 【正誤表】 https://kaityo256.github.io/python_zero/errata/

この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。

質問に答えるだけで、
あなたに合う専門書が見つかる

IT・デザイン・士業・医療・経理・教育・研究 ほか、あらゆる分野の専門書と 「読む順序」(学習ロードマップ)を収録。何を選べばいいか分からなくても、 いくつかの質問に答えるだけでたどり着けます。