Python 1年生 体験してわかる!会話でまなべる!プログラミングのしくみ

基本プログラムから開発まで!

本書は、Pythonのツールやプログラミングの基本知識を一から丁寧に、親切な説明で展開されているので楽しくサクサク学習を進めることができます。対話形式で課題の解説がされているなど、頭に入りやすい構成になっています。プログラミング学習の導入の本としておすすめの良書です。

はじめに

最近、Pythonはとても人気があります。特に人工知能の分野で注目を集めて います。人工知能は、家電やロボットなど私たちの生活の中にも入ってきて います。みなさんがPythonに興味を持たれたのも、人工知能に関心があった からではないでしょうか。

書店に行くと、機械学習やディープラーニングなど人工知能系の書籍がたく さん並んでいます。ですが多くの本は専門的で難しそうですし、どうやら Pythonというプログラミング言語も勉強しないといけないようです。いずれ はちゃんと理解していきたいけれど、最初はまずどんな感じなのかやさしく 体験してみたい、と思っておられる方はたくさんいるのではないでしょうか。

この本は、そうしたPython初心者の方のための本です。やさしいヤギ博士と 好奇心でいっぱいのフタバちゃんと一緒に、Python言語を体験していきましょう。
Pythonの一番簡単なプログラムから始めて、最終的には「手書きの数字を解 読する人工知能アプリ」を作るところまで進みます。「人工知能をゼロからすべて作る」のは難しいかもしれませんが、「すでにできている人工知能を利用して作る」のであれば初心者でも作れます。

作った人工知能アプリが、自分の手書きの数字を理解してくれたときは、ちょっと不思議で楽しいですよ。まずこの第一歩を踏み出せれば、あとはゆっくり進んでいけそうな気がしませんか?

この本でPythonや人工知能の楽しさに触れることで、Pythonのプログラミングを学ぶきっかけになれば幸いです。

2017年12月吉日
森巧尚

もくじ

はじめに
本書の対象読者と1年生シリーズについて
本書の読み方
本書のサンプルのテスト環境とサンプルファイルについて

第1章 Pythonで何ができるの?
LESSON01 Python って何だろう
Python って何?
Python の3つの特長
名前の由来
LESSON02 インストールしてみよう
Windows にインストールする方法
macOSにインストールする方法
macOS版で日本語をうまく入力するための更新

第2章 Pythonを触ってみよう
LESSON03 アイドルで始めよう!
IDLE を起動しよう
命令を実行してみる
いろいろな演算子でいろいろな計算ができる
LESSON04 文字も表示させてみよう
文字列を表示する
文字列や数字を組み合わせて表示する
LESSON05 ファイルでプログラミング!
あいさつプログラム
プログラムを作ってみよう
おみくじプログラム
BMI 値計算プログラム
保存したプログラムを開くには?
LESSON06 カメでお絵かきしてみよう!
カメで直線を描く
正方形を描く
カラフルな星を描く
カラフルな花を描く
もっと複雑な絵を見てみよう

第3章 プログラムの基本を知ろう
LESSON07 プログラムって何?
プログラムって何?
LESSON08 データは「入れ物」に入れて使う
変数の使い方
変数を表示する
変数を使って計算する
データの種類
LESSON09 文字列の操作を覚えよう
文字列をつなぐ
文字数を調べる
文字列の一部分を取り出す
文字列の途中で改行するには?
LESSON10 データ型を変換する
データ型を変換する
変換できないときはエラーになる
LESSON11 たくさんのデータは「リスト」にまとめる
リストの書き方
おみくじプログラムで使われているリスト
タートルグラフィックスで使われているリスト
LESSON12 プログラムで考えるときの3つの基本
①上から順番に、実行する
②もしも~なら実行する
③同じ処理をくり返す
LESSON13 もしも〜なら実行する
if文の書き方
if文を試してみよう
「そうでないとき」の処理を書く
LESSON14 同じ処理をくり返す
回数を指定してくり返す for文
リストのすべての要素についてくり返す for文
リストの中の点数を足す for文
for文の入れ子
LESSON115 1つの仕事は、1つにまとめる
関数で命令をまとめる
関数を使ってみよう
引数を使って関数にデータを渡す
消費税(8%)を計算してくれるプログラムを書こう
引数分戻り値だけの関数の使い道
LESSON16 他の人が作ったプログラムを利用する
importで読み込む
モジュールを作ってみよう
用意されたモジュールを importする
時刻を扱うモジュール

第4章 アプリを作ってみよう
LESSON17 操作できるアプリを作る
こんにちはアプリを作ってみよう
ボタンで動くようにする
tkinter の使い方
ボタンをクリックすると関数が呼び出されるしくみ
おみくじアプリ
LESSON18 画像ファイルを読み込んでみよう
ライブラリのインストール
Windowsにインストールする方法
macOSにインストールする方法
画像表示アプリを作ってみよう
LESSON19 画像表示アプリの中で何をしているの?
プログラム全体の構造
モジュールのインポート
画面を作る部分
ファイルを開くopenFile()関数
画像を表示するdispPhoto()関数
おさらい
LESSON20 アプリを改造してみよう
改造1:モノクロ画像に変換
改造2:モサイク画像

第5章 人工知能くんと遊んでみよう
LESSON21 人工知能って何だろう?
ところで人工知能って何?
LESSON22 人工知能を作る準備をしよう
人工知能の準備
Windows にインストールする方法
macOS にインストールする方法
LESSON23 機械学習に挑戦しよう
機械学習って何?
学習用データを読み込んで表示する
画像ファイルから数字を予測するプログラム
LESSON24 数字予測プログラムの中を見てみよう
プログラム全体の構造
imageToData() 関数の説明
predictDigits()関数の説明
LESSON25 人工知能アプリ「チノ」を作ろう
まずはアプリ部分を作ってみよう
アプリをテストしよう
LESSON26 人工知能アプリ「チノ」を成長させよう
①importを追加する
②imageToData() 関数を修正する
③predictDigits() 関数を追加する
④openFile() 関数を修正する
⑤画面を作る部分を修正する
人工知能「チノ」を動かしてみよう
LESSON26 これから何を勉強したらいいの?
まずは、scikit-learn を見ていこう
とにかく、何か作ってみよう
索引

本書の対象読者と1年生シリーズについて

本書の対象読者

本書は知識がゼロの方を対象にした、Pythonの超入門書です。簡単で楽しいサンプルを 作りながら、会話形式で、Pythonのしくみを理解できます。初めての方でも安心して Pythonプログラミングの世界に飛び込むことができます。

・言語の知識がない初学者
・Pythonを初めて学ぶ初学者

1年生シリーズについて

1年生シリーズは、プログラミング言語(アプリケーション)を知らない初心者の方に 向けて、「最初に触れてもらう」「体験してもらう」ことをコンセプトにした超入門書です。 超初心者の方でも学習しやすいよう、次の3つのポイントを中心に解説しています。

【ポイント1】イラストを中心とした概要の解説 章の冒頭には漫画やイラストを入れて各章で学ぶことに触れています。冒頭以降は、 イラストを織り交ぜつつ、概要について説明しています。

【ポイント2】会話形式で基本文法を丁寧に解説
必要最低限の文法をピックアップして解説しています。途中で学習がつまづかないよ う、会話を主体にして、わかりやすく解説しています。

【ポイント3】初心者の方でも作りやすいサンプル
初めてプログラミング言語(アプリケーション)を学ぶ方に向けて、楽しく学習できる よう工夫したサンプルを用意しています。

本書の読み方

本書は、初めての方でも安心して Pythonブログラミングの世界に飛び込んで、つまづく ことなく学習できるよう、さまざまな工夫をしています。

ヤギ博士とフタバちゃんのほのぼの漫画で章の概要を説明 各章で何を学ぶのかを漫画で説明します。
この章で具体的に学ぶことが、 一目でわかる該当する章で学ぶことを、イラストで わかりやすく紹介します。
イラストで説明難しい言いまわしや説明をせずに、イラストを多く利用して、丁寧に解説します。
会話形式で解説ヤギ博士とフタバちゃんの会話を主体に して、概要やサンプルについて楽しく解説します。

本書のサンプルのテスト環境とサンプルファイルについて

本書のサンブルのテスト環境
本書のサンプルは以下の環境で、問題なく動作することを確認しています。
OS: Windows 10, macOS Sierra (10.12.x)
Python:3.6.1

サンプルファイルのダウンロード先

本書で使用するサンプルファイルは、下記のサイトからダウンロードできます。適時必 要なファイルをご使用のパソコンのハードディスクにコピーしてお使いください。
・サンプルプログラムのダウンロードサイト
URL http://www.shoeisha.co.jp/book/download/

免責事項について
サンプルファイルは、通常の運用において何ら問題ないことを編集部および著者は認識 していますが、運用の結果、万一いかなる損害が発生したとしても、著者および株式会社 翔泳社はいかなる責任も負いません。すべて自己責任においてお使いください。

2017年12月
株式会社翔泳社編集部