目次

はじめに

想定する読者層
前提とする知識
本著のゴール
免責事項

第1章 プログラミングとは

1.1 プログラミング言語とはなにか
1.2 Pythonの特徴

第2章 環境構築

2.1 本著で用意する環境
2.2 Pythonのインストール

第3章 Pythonを実行してみよう

3.1 Pythonプログラムファイルの作成
3.2 Pythonプログラムファイルの実行

第4章 標準出力

4.1 画面への出力
4.2 コメントアウト
4.3 様々な出力の仕方

第5章 変数と定数

5.1 変数とは
5.2 変数を使ってみよう
5.3 値の再代入
5.4 定数とは
5.5 ドリル

第6章 演算処理

6.1代数演算子
6.2 演算をしてみよう
6.3 変数を使った演算
6.4 ドリル

第7章 データの型について知ろう

7.1 データ型とは
7.2 データ型の種類
7.3 静的型付けと動的型付け
7.4 ドリル

第8章 標準入力

8.1 プログラム実行の流れ
8.2 標準入力とは
8.3 入力されたデータを受け取ってみよう
8.4 ドリル

実践演習①

演習問題1:三角形の面積
演習問題2:税込み価格

第9章 条件分岐

9.1 条件分岐とは
9.2 条件分岐を使ってみよう
9.3 ドリル

第10章 ループ処理

10.1 ループとは
10.2 for文
10.3 while文
10.4 ドリル

実践演習②

演習問題3:クイズアプリを作ってみよう
解答例

第11章 関数について知ろう

11.1 関数とは
11.2 組み込み関数
11.3 引数と戻り値

第12章 ライブラリとモジュール

12.1 モジュールとは
12.2 モジュールの使い方
12.3 標準ライブラリを使ってみよう
12.4 ドリル

実践演習③

演習問題4:勇者と魔王の決闘
演習問題5:勇者の必殺技
解答例

〈小休止〉Pythonプログラムを実行形式のファイル(exe)に変換してみよう

実行ファイルとは
サードパーティライブラリのインストール
exeファイルへの変換

第13章 リスト(配列)

13.1 リストとは
13.2 リストの作成
13.3 要素の取り出し
13.4 リストの基本操作
13.5 リストをループで処理
13.6 要素とインデックス番号を両方取り出す
13.7 ドリル

第14章 複数の入力値の取得

14.1 1行の複数のデータをリストとして取得
14.2 複数行のデータをリストに格納
14.3 行数不明の入力値をリストに格納
14.4 ドリル

実践演習④

演習問題6:タイピングゲームを作ってみよう
解答例

第15章 辞書(ディクショナリ)

15.1 辞書とは
15.2 辞書の作成
15.3 要素の取り出し
15.4 辞書の基本操作
15.5 辞書をループで処理
15.6 集合に対して使える比較演算子(in,not in)
15.7 ドリル

第16章 多次元リスト

16.1 多次元リストとは
16.2 2次元リストの作成
16.3 2次元リストの基本操作
16.4 2次元リストをループで処理
16.5 将棋盤に駒を配置してみよう
16.6 ドリル

実践演習⑤

演習問題7:じゃんけんゲーム

第17章 テキストファイルの読み出しと書き込み

17.1 ファイルを開く・閉じる
17.2 ファイルの読み出し
17.3 ファイルの書き込み
17.4 ドリル

第18章 CSVファイルの読み出しと書き込み

18.1 CSVファイルの読み出し
18.2 CSVファイルの書き込み
18.3 ドリル
解答例

実践演習⑥

演習問題8:1位の生徒は誰
演習問題9:合計点と平均点の追加
解答例

第19章 関数とモジュールを作ってみよう

19.1 関数の作成
19.2 変数のスコープ
19.3 引数のデフォルト値
19.4 可変長引数
19.5 キーワード引数
19.6 モジュールの作成と読み込み
__name__変数
19.8 ドリル

第20章 オブジェクト指向について知ろう

20.1 プログラミング・パラダイム
20.2 オブジェクト指向とは
20.3 オブジェクトの作成と呼び出し
20.4 クラス変数とクラスメソッド
20.5 アクセス制限
20.6 クラスの継承
20.7 メソッドのオーバーライド
20.8 ドリル

第21章 例外処理

21.1 例外とは
21.2 例外処理をしてみよう
21.3 例外情報の詳細を出力
21.4 複数の例外を捕捉
21.5 ドリル

よくあるエラー

SyntaxError
NameError
IndentationError
TabError
TypeError
ImportError
AttributeError
UnboundLocalError

実践演習⑦

演習問題10:CSVからオブジェクトを作ってみよう
演習問題11:ガチャを作ってみよう

第22章 GUIアプリ制作に挑戦してみよう

22.1 GUIとは
22.2 ウィンドウの作成と表示
22.3 ラベルウィジェット
22.4 ボタンウィジェット
22.5 キャンバスウィジェット
22.6 フレームウィジェットによる入れ子構造
ドリル

実践演習⑧

演習問題12:GUIでクイズアプリを作ってみよう
解答例

あとがき

この本を読んだ後に学ぶといいこと

はじめに

 本著を手に取って頂きありがとうございます。「Python3で学ぶプログラミングはじめの一歩」の著者、およびWebサイト「電脳世界」管理人のオーニシです。


 本著はプログラミングを「手を動かしながら覚える」ことにとどまらず、読者が「実際にプログラムを作りながら覚える」ことを目指しています。そのため必ずしも最短の説明手順とはなっていません。

 原理や概念だけを学ぶのであれば、プログラム中の処理は全て1+1のような簡単なものでもいいかもしれません。しかし、これでは何がどう便利なのかを理解しづらいと思うからです。そのため本著ではあえて遠回りをしたり、理解力の高い人にとっては二度手間に感じるような書き方や手順を取っているところもあります。

 ですが、あえて遠回りをすることで、ごく簡単ではありますが実際にプログラムを作りながら覚えてもらうことができ、手順と結果だけを説明するよりもきちんとした理解ができると考えたためです。


 本著では、新しいことを学ぶたびに今までの知識と組み合わせて作れるものを演習問題としています。また、要素ごとにその有用性がわかりやすい場面で解説するようにしました。

 例えば学校で掛け算を学ぶときに、「2×2」の図を出しても人によっては「見ればわかるじゃん」となってしまい、その便利さがわかりづらいかもしれません。それよりは6×8の図を出して「これを数えるのは大変ですよね、でも掛け算を使えばこんなに簡単に」と教えた方が「なるほど便利!」となって理解が早いと思うのです。

 そのうえで、「120円のりんごを8個買うと合計いくらでしょう」という例題を通して、はじめて掛け算が使えるという理解度に至るのではないでしょうか。


 プログラミングの入門は本やWebサイト、Webサービスなど今やわかりやすいものがたくさんありますが、もっともっとあっていいと私は考えています。というのも私自身、プログラミングの基礎を学んだ際はあるWebサービスを使ったのですが、どうしてもわかりにくい部分がありつまずいてしまったことがあります。ですが、同じ項目を別のWebサイトや本で見ると、スルッと理解することができたのです。

 これは最初のWebサービスがわかりにくかったということではなく、たまたま私にとってその部分の説明は別のサイトや本の方がわかりやすかったということです。このように人によって理解しやすい解説や例え、説明順は異なります。

 もしもあなたがプログラミングの学習でつまずいた時、同じ説明を何度か見たり聞いたりしてもわからなければ、その部分だけでも別の本やWebサイトで学習してみるとスムーズに理解が進むかもしれません。そしてこの本もその中のひとつに加えて頂ければ幸いです。


想定する読者層

 ・プログラミングがなんなのかよくわかっていない方

 ・あの黒い画面が怖い方

 ・ごく簡単でいいのでプログラムを作ってみたい方

 ・HTMLやCSSは書けるけどプログラミング言語は触ったことがない方

 ・プログラム自体は触ったことがあるけど本格的に覚えたいという方

 ・バックエンド(サーバーサイド)の言語に興味のある方

 ・データ処理や機械学習(AI)に興味があり、まずはPythonの基礎を学びたい方

 ・プログラミングの義務教育化に向けて基礎くらいは学んでおきたい教員の方

 ・入社した新人に「とりあえずこれ読んでおいて」っていうPython本をお探しの方

前提とする知識

 ・パソコンの立ち上げができる

 ・パソコンでブラウジングができる

 ・パソコンでフォルダやファイルを作ることができる

 ・中学1年生くらいまでの数学の素養

 ・あの黒い画面に立ち向かう勇気

本著のゴール

 ・プログラミング言語とはなにかざっくり説明できるようになっている

 ・基本的なプログラムの概念が理解できている

 ・Pythonで簡単なプログラムを作れるようになっている

 ・Pythonプログラムでファイルを読み込んだり書き込んだりできるようになっている

 ・オブジェクト指向についてざっくりと説明できるようになっている

 ・プログラム実行時のエラー画面がある程度読めるようになっている 

免責事項

 本著はできるだけ正確を期すように努めましたが、筆者が内容を保証するものではありません。よって本著の記載内容に基づいて読者が行った行為、及び読者が被った損害について筆者は何ら責任を負うものではありません。

 不正確あるいは誤認と思われる箇所がありましたら、電子版については必要に応じて適宜改訂を行いますので筆者までお知らせいただけますと幸いです。



第1章 プログラミングとは

この章ではプログラミングとはなにか、プログラムがどういう仕組みで動作しているのか、そして本著で取り扱うプログラミング言語Pythonの特徴について学びます。

1.1 プログラミング言語とはなにか

 みなさんはプログラミング言語とはなにか説明できますか?この本を手に取っている方の多くは「なんかコードとかいう文字列を書いたら動作するもの」くらいの認識かと思います。その認識でもプログラムは書けるのですが、もう少しだけ理解を深めておくとプログラミングの学習がはかどると思います。

 そもそも何のためにプログラムを書くかというと、コンピュータに何らかの処理をさせるためです。しかし、コンピュータは人間の言葉をそのまま理解することはできません。例えば次のようなコードを書いて実行したとしても、エラーになってしまいます。

画面にHelloと表示しなさい!

 これは、コンピュータは全ての命令を電圧が高いか低いかという2種類の信号(0と1の2進数)でしか表現できないためです。つまり画面にHelloという言葉を表示させるためには、コンピュータに次のような機械語で信号を送る必要があります。

01001000 01100101 01101100 01101100 01101111 00100000 ...

 しかしこのような0と1の羅列を人間に書けと言われても無理なことです。何が書いてあるのかパッと見では理解できないため、変更や修正なんてできたものではありません。

 そこで、人間の命令を機械語に翻訳するための言葉として開発されたのがプログラム言語です。例えば上記の例はPythonでは次のように記述します。

print("Hello")

 記法や文法を覚える必要はありますが、人間にも理解しやすくなりました。実行時は一定の法則に従って機械語に変換され、コンピュータに信号が送られます。

プログラミング言語の役割

 このように、プログラミング言語を通じてコンピュータに命令を出し、計算や文字の表示といった処理をさせることがプログラミングです。

1.2 Pythonの特徴

Pythonのロゴマーク

 本著では数あるプログラミング言語の1つであるPythonのバージョン3(Python3)を使ってプログラミングを学んでいきます。2020年現在、プログラミング言語の種類は200種類以上存在すると言われており、言語によって動作環境や得意不得意などの特徴が異なります。

 学習を始める前にPythonの特徴を簡単に知っておきましょう。

 Pythonはコードがシンプルで扱いやすい、オブジェクト指向の汎用プログラミング言語です。可読性が高く、様々な処理を短いプログラムコードで実現することができるため比較的習得しやすく、プログラミング初学者にも向いているといわれます。またライブラリが充実しているのも特徴で、用途に応じて豊富なツール群の中から最適なものをインターネット上から無料で入手し、機能をカスタマイズしていくことができます。

 汎用言語のため用途は幅広く、掲示板やCMS、SNS、クラウドストレージサービスなどの本格的なWebサービスを構築可能なほか、ビッグデータ解析や機械学習に適した言語としても注目されています。YoutubeやInstagram、Dropbox、Evernoteなどの有名なサービスにもPythonで構築されているものがたくさんあります。

第2章 環境構築

この章では、学習にあたってあなたのPCでPythonプログラムを実行するための環境を構築します。このように自分のPCで開発を行うための環境のことを、ローカル開発環境と呼びます。

2.1 本著で用意する環境

 本来は仮想マシン上にローカルサーバーを構築し、Linux系OSをインストールし……と本番環境に近い環境を用意した方が良いのですが、これからプログラミングを学習しようという方にとって最初の障壁となりうるのがこの環境構築です。

 そこで本著では、最も構築が簡単な開発環境としてPythonをインストールしてWindowsのコマンドプロンプトで動かしながら学習を進めていきます。難解な仮想環境の理解や構築はいったん置いておいて、Pythonの基本的な文法や実際に何ができるのかを知って頂けると幸いです。

 最近はブラウザー上で様々なプログラム言語のコードを試せるpaiza.ioなどのサービスもあるため、面倒な方はそちらを使ってみるのも良いかもしれません。

この本を読んだ後で本格的にPython を使ってみようという場合は、ぜひ仮想環境の構築にも挑戦してみてください。本番環境に近い環境でコードをテストすることができ、モジュールの管理もしやすいという利点があるほか、仮想環境なら最悪壊してしまっても大丈夫なので、実行に不安のあるコードを試してみることもできます。

2.2 Pythonのインストール

 まずはPythonのインストーラを次の公式サイトからダウンロードします。

https://www.python.org/
Pythonの公式サイトからインストーラをダウンロード

 画面上部の『Downloads』にカーソルを合わせると上記画像のようにメニューが表示されるので『Python3.7.4』というボタンをクリックしてインストーラをダウンロードします。

 3.7.4というのはPythonのバージョンを示しています。ここではPython3.7.4をダウンロードして先に進めていきますが、基本的に最新版をダウンロードすればOKです。

インストール方法を選択

 ダウンロードしたファイルを開くと上記のような画面が表示されます。『Add Python 3.7 to PATH』というチェックボックスにチェックを入れ、『Install Now』をクリックします。

インストール完了

 図のような画面が表示されればインストール完了です。『Close』を押して画面を閉じましょう。


 次にPythonのインストールと設定が正常に完了したか確認します。PC画面の左下などにある検索バーに『コマンドプロンプト』または『cmd』と入力します。

Windows内のアプリから『コマンドプロンプト』を検索

 検索結果に『コマンドプロンプト』というアプリケーションが表示されるのでクリックして開きます。

Pythonのバージョンを確認

 次のコマンドを入力してPythonのバージョンを確認してみましょう。

python --version

 上記画像のように『Python 3.7.4』などのバージョン情報が表示されればインストールと設定が正常に完了しています。

 『'Python'は…認識されていません。』と表示される場合はインストール時に『Add Python 3.7 to PATH』にチェックを入れ忘れた可能性があります。このままでは環境変数が設定されていないため、コマンドプロンプトでPythonを実行することができません。インストーラをもう一度立ち上げ『Uninstall(アンインストール)』してからもう一度インストールし直しましょう。

第3章 Pythonを実行してみよう

ここからは実際にPythonのコードを書きながら学習していきましょう。まずはPythonファイルの作り方と実行の仕方を学びます。

3.1 Pythonプログラムファイルの作成

作業用フォルダの作成

 はじめに、本書で使用する作業用フォルダを作成します。デスクトップ画面で右クリック→『新しいフォルダ』から『python_lessons』など任意の名前でフォルダを作成してください。

 では、Pythonのプログラムファイルを作成してみましょう。プログラムコードを書くには『テキストエディタ』が必要です。Windows標準の『メモ帳』でも書けなくはないのですが、本著では『Atom』というフリーソフトを使って進めていきます。本著と同じ環境で進めていきたい方は次のURLからインストールしておいてください。

https://atom.io/
Atomでフォルダを開く

 Atomを開き、画面左上の『File』から『Open Folder...』という項目を選択します。先ほどデスクトップに作成した『Python_lessons』フォルダを選択して開いてください。

なお、Atomは日本語化することもできますので、英語だと使いづらいという方は『Atom 日本語化』などでGoogle検索してみてください。

ファイルの作成

 左側に先ほど選択した『Python_lessons』フォルダが表示されますので、右クリックして『New File』をクリックします。

ファイル名の入力

 ファイル名を入力しましょう。Pythonファイルの拡張子は『.py』ですので『任意のファイル名.py』とします。ファイル名の部分はなんでもいいのですが、日本語や記号を使ってしまうと思わぬエラーの原因となることもあるので、半角英数とアンダーバーだけを使うことをおすすめします。ここでは『test.py』として進めていきます。

 作成したファイルに実際にPythonのコードを書いて実行してみましょう。今はコードの意味は分からなくてもいいので次のように書き込んでください。

print("Hello World")
ファイルの保存

 ファイルに書き込んだ内容を保存します。『File』→『Save』をクリックするかキーボードで『Ctrl+s』キーを押すことでコードを保存することができます。

3.2 Pythonプログラムファイルの実行

 作成した『test.py』ファイルを実行してみましょう。『コマンドプロンプト』を開き、次のコマンドを実行します。

cd Desktop
cd python_lessons

 これはコマンドプロンプトで使える命令文で、「cd ディレクトリ名」とすることで操作ディレクトリを移動することができます。これで現在の操作ディレクトリは先ほど作成した『python_lessons』となっています。

コマンドプロンプトでのディレクトリの移動

 ここで次のコマンドを実行します。

python test.py

 これは『test.py』という名前のPythonファイルを実行せよという命令です。

Pythonファイルの実行

 上記画像のように『Hello World』と表示されれば成功です。Pythonのプログラムコードを実行することができました。

 本著はコードをこの方法でテストしながら進めていきます。ファイルの作り方や実行方法がわからなくなってしまった場合はここまでのページを読み返して下さい。

試し読みはここまでです。
この続きは、製品版でお楽しみください。