関連サイト
本書の関連ページが用意されています。
内容紹介
高校卒業から大学1年程度を対象として、プログラミングの知識がゼロでも無理なくPythonでプログラミングの学習を始められます。はじめてプログラミングを行うレベルを対象とするため、プログラムとは何か?といったところから説明します。Pythonの文法レベルをインタラクティブモードと簡単なプログラミング事例を示しながら、生徒に解を導かせるとともに、各章の最後に練習問題を提示し、読者が自分で考える機会を設けています。本書を通読することで、プログラミングの初心者がPythonを使って、実用的なデータ処理ができるレベルまで到達することを目標とします。実例として、実用的なExcelなどの表計算ソフトのデータの加工、データの可視化などを掲載しています。Python3、実行環境は、macOS ターミナル、Windows 10 WSL、Linuxターミナルなど。
書誌情報
- 著者: 小波秀雄
- 発行日: 2019-04-19 (紙書籍版発行日: 2019-04-19)
- 最終更新日: 2019-04-19
- バージョン: 1.0.0
- ページ数: 280ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス
対象読者
高校卒業程度の数学知識を備えた大学生。これまで、コマンドラインの操作やプログラミングの経験のない、大学新入生(高校生)レベルの学力の生徒が対象。
著者について
小波秀雄
1951年生まれ。東北大学理学研究科博士後期課程中退。東北大学助手,助教授,宮城高専教授,京都女子大学現代社会学部教授を歴任した。専門は物理化学,統計学など。理学博士。
1980年頃予備校の成績処理システムを開発したのを手始めに,科学計算・シミュレーションのプログラミングで食べていくようになる。京都女子大学の情報教育ではRubyを全国に先駆けて導入するとともに関西におけるRubyコミュニティを育てた。2015年に国際的なデータマイニングのコンテストであるCDMC2015にゼミ生とともに参戦し,優勝を勝ち取る。統計計算ソフトウェアのRを常用するが,最近はPythonを使うことも多い。趣味はピアノとチェロの演奏。
目次
まえがき
本書の構成/Python のバージョンについて
Python の実行環境について
第 1 章 Python を始める
- 1-1 データ分析だったら Python!
- 1-2 プログラミングのための準備をしよう/1-2-1 プログラミングってどういう作業?
- 1-2-2 プログラミング環境を作る
- 1-2-3 エディタについて
- 1-3 超簡単 Unix コマンド
- 1-3-1 10 分間 Unix 体験ツアー
- 1-4 エディタで最初のプログラムを書いてみる
第 2 章 Python 超入門と基礎知識
- 2-1 Python のインタプリタで計算しよう/2-1-1 ターミナルからインタプリタを立ち上げる
- 2-1-2 インタプリタを電卓のように使う
- 2-1-3 算術演算の仕組みを理解する
- 2-1-4 変数を使うとさらに便利/2-1-5 いろいろな代入のやり方を試してみよう
- 2-1-6 自己代入を活用しよう
- 2-2 あいさつプログラムを書こう
- 2-2-1 見やすいソースを書こう
第 3 章 データを扱う簡単なプログラム
- 3-1 データ入力の基本を学ぼう/3-1-1 Python の組み込み型データ
- 3-1-2 キーボードからデータを入力する
- 3-1-3 コンストラクタでデータの型を変換する
- 3-1-4 プログラムを改良してみよう
- 3-1-5 キーワード引数で print の改行を制御する
- 3-1-6 文字列フォーマットで変数の値を文字列中に埋め込む
- 3-1-7 変数名と予約語について
- 3-2 コマンドライン引数を使ったデータ入力
- 3-3 乱数を使う/3-3-1 random モジュールで乱数発生
- 3-3-2 乱数の「種」を使って系列を固定する
第 4 章 論理的条件で処理を分岐させる
- 4-1 if ステートメントによる条件判断/4-1-1 単純な条件判断のプログラム
- 4-1-2 インデントは Python の命!
- 4-1-3 else を使った条件分岐/4-1-4 else と elif を使った多重の条件分岐
- 4-2 論理をプログラムする/4-2-1 論理式とブール値
- 4-2-2 論理式同士を組み合わせる
- 4-2-3 論理演算子,比較演算子
- 4-2-4 倍数かどうかを判定する
- 4-2-5 複合した条件をネストした分岐で判定するプログラム
- 4-2-6 複合した条件をブール演算で判定するプログラム
- 4-2-7 三項演算子について
第 5 章 シーケンスとその他のデータ構造
- 5-1 並んだデータをシーケンスで扱う/5-1-1 リスト - 最も重要なデータ構造
- 5-1-2 より高度なスライシング
- 5-1-3 コマンドライン引数とリストの関係を知る
- 5-1-4 レンジ - 中が見えない整数のリスト
- 5-1-5 変更できないシーケンス ー タプルと文字列
- 5-1-6 テキストシーケンスの独特の振るまい
- 5-2 シーケンスを操作するメソッド群/5-2-1 ちょっとだけオブジェクト指向の話/5-2-2 シーケンス同士の変換
- 5-2-3 シーケンス操作の演算とメソッド・関数群
- 5-2-4 リスト内包表記でリストの要素を加工する
- 5-2-5 キーワード引数でソートの振るまいを変える
- 5-3 集合型 ― データ集合を扱う非シーケンスデータ型
- 5-4 ディクショナリ ― 関連付けを表現するデータ型/5-4-1 ディクショナリを操作する
- 5-4-2 ディクショナリのキーはハッシャブルでないといけない
第 6 章 ループを使って高速で繰り返す
- 6-1 for ステートメントで繰り返す/6-1-1 for ステートメントでリストやタプルのデータを処理する
- 6-1-2 ループの中で条件判断を行う
- 6-2 while ステートメントで賢く繰り返す
- 6-2-1 何かが起きたらループを止める
- 6-2-2 無限ループと break を組み合わせる
- 6-2-3 ネストしたループで組み合わせを処理する/6-2-4 掛け算九九をプログラムする
- 6-2-5 ネストしたシーケンス(二重シーケンス)を扱う
- 6-2-6 ループの範囲が変化していく
第 7 章 テキスト情報の扱いとファイル入出力
- 7-1 文字情報の基礎知識/7-1-1 ビット,バイト,文字コード
- 7-1-2 アスキーファイルとテキストファイル
- 7-2 Python の文字列リテラル/7-2-1 文字列型リテラルを作る
- 7-2-2 もうひとつの文字列リテラル―ヒアドキュメント/7-2-3 バックスラッシュによる行継続で長い文字列を扱う
- 7-2-4 文字列リテラルのまとめ
- 7-3 標準入力,標準出力,標準エラー出力/7-3-1 標準出力とリダイレクション
- 7-3-2 標準エラー出力へのリダイレクション
- 7-4 エラーを処理する
- 7-5 テキストファイルを利用する/7-5-1 ファイル読み込みの 3 つの基本形
- 7-5-2 Read モードでファイルをオープンする
- 7-5-3 ファイルを開いた後はどうするか
- 7-5-4 シーケンスのようにファイルの情報を読み出す/7-5-5 ファイルの情報全部を一気に読み込む
- 7-5-6 ファイルアクセスを終えたらクローズする/7-5-7 with を使ってクローズまで面倒をみる書き方
- 7-5-8 ファイルに書き込む
- 7-6 表計算ソフトのデータを活用する/7-6-1 CSV フォーマットはデータ共有の基本
- 7-6-2 デリミタで区切られた文字列をリストに分解する
- 7-6-3 CSV データをタブ区切りに変換する実用プログラム
- 7-7 機能分割して効率的にファイルデータを処理/7-7-1 プログラムの理想的な形は?
- 7-7-2 さらに進んだプログラムの構成―自前の関数を使う
- 7-8 名簿を扱うプログラム/7-8-1 プログラムの仕様/7-8-2 小さなファイルを用意して作業を楽にする/7-8-3 データ読み込み部分を作る
- 7-8-4 名簿をよみがな順に並べ替える
- 7-8-5 結果を出力する
- 7-8-6 ヘッダ行のあるファイルだったらどうするか
- 7-9 モジュールを活用してスマートな処理に/7-9-1 CSV データを扱うモジュール
- 7-9-2 モジュールを使って CSV ファイルに書き込む
第 8 章 関数をあやつる
- 8-1 自前の関数を作る
- 8-1-1 関数の形と各部の名称
- 8-1-2 関数名について/8-1-3 戻り値を返す関数,返さない関数がある
- 8-1-4 戻り値として複数のデータを返す
- 8-2 関数の活用とデータの共有/8-2-1 関数の引数と仮引数の名前について
- 8-2-2 変数のスコープについて
- 8-2-3 関数の外で定義した変数はグローバルに振るまう
- 8-2-4 無理やりグローバル変数化することもできる/8-2-5 グローバル変数はなるべく使わないほうがよい
- 8-2-6 組み込み関数と同じ名前の変数は使わないほうがよい
- 8-3 データ処理のための関数を設計する/8-3-1 リストやタプルのデータを解析する
- 8-3-2 関数に渡したリストは共有されている
- 8-3-3 変換されたリストを非破壊的に得るには
第 9 章 基本的なアルゴリズムを実装する
- 9-1 探索とソート/9-1-1 フラグを活用して逐次探索
- 9-1-2 バブルソート
- 9-2 整数の除算を利用したアルゴリズム/9-2-1 素数の判定
- 9-2-2 エラトステネスのふるい
- 9-2-3 ユークリッドの互除法
- 9-3 再帰的なアルゴリズム/9-3-1 階乗を再帰的に計算する
- 9-3-2 ハノイの塔
第 10 章 Python で数学を
- 10-1 数学ライブラリを活用する/10-1-1 matplotlib.pyplot を使ってグラフを作る
- 10-1-2 ライブラリの読み込み方を異なった表現で
- 10-1-3 関数の式を使ってプロットするには
- 10-1-4 数学関数のグラフを作っていく
- 10-1-5 グラフに必要なものを追加していく
- 10-1-6 複数のグラフを並べて表示する
- 10-2 データファイルを読み込んで統計用のグラフを作る/10-2-1 NumPy で統計計算とデータの可視化/10-2-2 NumPy の配列
- 10-3 Python で統計データを扱う/10-3-1 一変量データから統計量を求める
- 10-3-2 ヒストグラムで分布を可視化する
- 10-4 二変量データを扱う/10-4-1 二変量データを読み込む
付録 A 関連情報
- 付録 A.1 参考ウェブサイト
- 付録 A.2 Atom エディタ超入門
- 付録 A.3 UNIX の超基礎知識
- 付録 A.4 ASCII コード表
- 付録 A.5 主な記号の読み方
- 付録 A.6 数値リテラルの形
- 付録 A.7 print 関数の文字列フォーマット
- 付録 A.8 リスト,シーケンスの仕様
- 付録 A.9 Math,NumPy の数学関数