はじめに
第1章 プログラミングとは
第2章 環境構築
第3章 Pythonを実行してみよう
第4章 標準出力
第5章 変数と定数
第6章 演算処理
第7章 データの型について知ろう
第8章 標準入力
実践演習①
第9章 条件分岐
第10章 ループ処理
実践演習②
第11章 関数について知ろう
第12章 ライブラリとモジュール
実践演習③
〈小休止〉Pythonプログラムを実行形式のファイル(exe)に変換してみよう
第13章 リスト(配列)
第14章 複数の入力値の取得
実践演習④
第15章 辞書(ディクショナリ)
第16章 多次元リスト
実践演習⑤
第17章 テキストファイルの読み出しと書き込み
第18章 CSVファイルの読み出しと書き込み
実践演習⑥
第19章 関数とモジュールを作ってみよう
第20章 オブジェクト指向について知ろう
第21章 例外処理
よくあるエラー
実践演習⑦
第22章 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プログラムでファイルを読み込んだり書き込んだりできるようになっている
・オブジェクト指向についてざっくりと説明できるようになっている
・プログラム実行時のエラー画面がある程度読めるようになっている
本著はできるだけ正確を期すように努めましたが、筆者が内容を保証するものではありません。よって本著の記載内容に基づいて読者が行った行為、及び読者が被った損害について筆者は何ら責任を負うものではありません。
不正確あるいは誤認と思われる箇所がありましたら、電子版については必要に応じて適宜改訂を行いますので筆者までお知らせいただけますと幸いです。
この章ではプログラミングとはなにか、プログラムがどういう仕組みで動作しているのか、そして本著で取り扱うプログラミング言語Pythonの特徴について学びます。
みなさんはプログラミング言語とはなにか説明できますか?この本を手に取っている方の多くは「なんかコードとかいう文字列を書いたら動作するもの」くらいの認識かと思います。その認識でもプログラムは書けるのですが、もう少しだけ理解を深めておくとプログラミングの学習がはかどると思います。
そもそも何のためにプログラムを書くかというと、コンピュータに何らかの処理をさせるためです。しかし、コンピュータは人間の言葉をそのまま理解することはできません。例えば次のようなコードを書いて実行したとしても、エラーになってしまいます。
画面にHelloと表示しなさい!
これは、コンピュータは全ての命令を電圧が高いか低いかという2種類の信号(0と1の2進数)でしか表現できないためです。つまり画面にHelloという言葉を表示させるためには、コンピュータに次のような機械語で信号を送る必要があります。
01001000 01100101 01101100 01101100 01101111 00100000 ...
しかしこのような0と1の羅列を人間に書けと言われても無理なことです。何が書いてあるのかパッと見では理解できないため、変更や修正なんてできたものではありません。
そこで、人間の命令を機械語に翻訳するための言葉として開発されたのがプログラム言語です。例えば上記の例はPythonでは次のように記述します。
print("Hello")
記法や文法を覚える必要はありますが、人間にも理解しやすくなりました。実行時は一定の法則に従って機械語に変換され、コンピュータに信号が送られます。
このように、プログラミング言語を通じてコンピュータに命令を出し、計算や文字の表示といった処理をさせることがプログラミングです。
本著では数あるプログラミング言語の1つであるPythonのバージョン3(Python3)を使ってプログラミングを学んでいきます。2020年現在、プログラミング言語の種類は200種類以上存在すると言われており、言語によって動作環境や得意不得意などの特徴が異なります。
学習を始める前にPythonの特徴を簡単に知っておきましょう。
Pythonはコードがシンプルで扱いやすい、オブジェクト指向の汎用プログラミング言語です。可読性が高く、様々な処理を短いプログラムコードで実現することができるため比較的習得しやすく、プログラミング初学者にも向いているといわれます。またライブラリが充実しているのも特徴で、用途に応じて豊富なツール群の中から最適なものをインターネット上から無料で入手し、機能をカスタマイズしていくことができます。
汎用言語のため用途は幅広く、掲示板やCMS、SNS、クラウドストレージサービスなどの本格的なWebサービスを構築可能なほか、ビッグデータ解析や機械学習に適した言語としても注目されています。YoutubeやInstagram、Dropbox、Evernoteなどの有名なサービスにもPythonで構築されているものがたくさんあります。
この章では、学習にあたってあなたのPCでPythonプログラムを実行するための環境を構築します。このように自分のPCで開発を行うための環境のことを、ローカル開発環境と呼びます。
本来は仮想マシン上にローカルサーバーを構築し、Linux系OSをインストールし……と本番環境に近い環境を用意した方が良いのですが、これからプログラミングを学習しようという方にとって最初の障壁となりうるのがこの環境構築です。
そこで本著では、最も構築が簡単な開発環境としてPythonをインストールしてWindowsのコマンドプロンプトで動かしながら学習を進めていきます。難解な仮想環境の理解や構築はいったん置いておいて、Pythonの基本的な文法や実際に何ができるのかを知って頂けると幸いです。
最近はブラウザー上で様々なプログラム言語のコードを試せるpaiza.ioなどのサービスもあるため、面倒な方はそちらを使ってみるのも良いかもしれません。
この本を読んだ後で本格的にPython を使ってみようという場合は、ぜひ仮想環境の構築にも挑戦してみてください。本番環境に近い環境でコードをテストすることができ、モジュールの管理もしやすいという利点があるほか、仮想環境なら最悪壊してしまっても大丈夫なので、実行に不安のあるコードを試してみることもできます。
まずはPythonのインストーラを次の公式サイトからダウンロードします。
https://www.python.org/
画面上部の『Downloads』にカーソルを合わせると上記画像のようにメニューが表示されるので『Python3.7.4』というボタンをクリックしてインストーラをダウンロードします。
3.7.4というのはPythonのバージョンを示しています。ここではPython3.7.4をダウンロードして先に進めていきますが、基本的に最新版をダウンロードすればOKです。
ダウンロードしたファイルを開くと上記のような画面が表示されます。『Add Python 3.7 to PATH』というチェックボックスにチェックを入れ、『Install Now』をクリックします。
図のような画面が表示されればインストール完了です。『Close』を押して画面を閉じましょう。
次にPythonのインストールと設定が正常に完了したか確認します。PC画面の左下などにある検索バーに『コマンドプロンプト』または『cmd』と入力します。
検索結果に『コマンドプロンプト』というアプリケーションが表示されるのでクリックして開きます。
次のコマンドを入力してPythonのバージョンを確認してみましょう。
python --version
上記画像のように『Python 3.7.4』などのバージョン情報が表示されればインストールと設定が正常に完了しています。
『'Python'は…認識されていません。』と表示される場合はインストール時に『Add Python 3.7 to PATH』にチェックを入れ忘れた可能性があります。このままでは環境変数が設定されていないため、コマンドプロンプトでPythonを実行することができません。インストーラをもう一度立ち上げ『Uninstall(アンインストール)』してからもう一度インストールし直しましょう。
ここからは実際にPythonのコードを書きながら学習していきましょう。まずはPythonファイルの作り方と実行の仕方を学びます。
はじめに、本書で使用する作業用フォルダを作成します。デスクトップ画面で右クリック→『新しいフォルダ』から『python_lessons』など任意の名前でフォルダを作成してください。
では、Pythonのプログラムファイルを作成してみましょう。プログラムコードを書くには『テキストエディタ』が必要です。Windows標準の『メモ帳』でも書けなくはないのですが、本著では『Atom』というフリーソフトを使って進めていきます。本著と同じ環境で進めていきたい方は次のURLからインストールしておいてください。
https://atom.io/
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』キーを押すことでコードを保存することができます。
作成した『test.py』ファイルを実行してみましょう。『コマンドプロンプト』を開き、次のコマンドを実行します。
cd Desktop
cd python_lessons
これはコマンドプロンプトで使える命令文で、「cd ディレクトリ名」とすることで操作ディレクトリを移動することができます。これで現在の操作ディレクトリは先ほど作成した『python_lessons』となっています。
ここで次のコマンドを実行します。
python test.py
これは『test.py』という名前のPythonファイルを実行せよという命令です。
上記画像のように『Hello World』と表示されれば成功です。Pythonのプログラムコードを実行することができました。
本著はコードをこの方法でテストしながら進めていきます。ファイルの作り方や実行方法がわからなくなってしまった場合はここまでのページを読み返して下さい。