ここではまずプログラミングについて簡単に説明します.
「プログラム」とは,
コンピュータにさせたい作業を順番に並べたもの
です.これは人間でいうところの「予定表」や「式次第」に相当します.式次第は,イベントで行う内容を順番に列挙したものを指します.この対象を人間からコンピュータに置き換えたものが「プログラム」になります.
さてプログラムをコンピュータに教えるとき,私たちはプログラムをコンピュータの理解できる言葉で表現する必要があります.コードあるいはソースコードは
プログラムをコンピュータのわかる言葉(=
プログラミング言語)で書き記したもの
を指します.
ここでコンピュータが理解できる言葉をプログラミング言語といいます.
そしてプログラミング言語を使ってコードを書くことをプログラミングあるいはコーディングといいます.
プログラミング言語には様々なものがありますが,本講義ではその中でも「Python」と呼ばれる言語を扱っていきます.
コンピュータは,与えられたコードをもとに作業をしていきます. ただし,コンピュータは我々人間のように融通がきかないので,「なんとなくうまくやってくれ!」と曖昧な指示をしても動きません. プログラミングの際には,コンピュータにさせたい内容を丁寧に,かつ事細かに書かなければなりません. つまりコードとは,作業内容を厳密に書いた「設計図」のようなものになります.
それでは,実際にPythonのコードを眺めてみましょう.
"""
Pythonのコード例です.
"""
x = 3 # x に 3 を代入します.
result = x * x + 5/2 - 0.1 # result に 計算結果を代入します.
print(result) # result の内容を表示します.このコードを理解する前に,まずはいくつかのPythonの文法を見てみましょう.
- コードは1行ごとに,上から順番に実行される.
- シャープ記号 # は「これ以降はコメント」の意味.つまり # の右側は無視される.
"""と"""で囲まれた部分もコメントになる.コメントの部分には日本語を入力してもよいけれど,それ以外の部分は基本的に「半角英数字」で記載する.- 基本的な数学の計算について,記号の対応は以下のようになっている.
- 右辺を左辺に代入: =(左のほうに代入されるということに注意)
- 足し算: +
- 引き算: -
- かけ算: *
- わり算: /
- 数字を代入した「文字」は数学でいう「変数」で,その中身を画面に出力するためは print 命令を使う.
- 行の先頭を除いて 空白(スペース)は1つの入るのも複数入るのも変わらない.行の先頭の空白だけは特殊な意味をもっている(これについては後述).
- 四則演算などの演算子の前後に空白が入らなくてもかまわない.
英語だと思えば読めますよね? print は「印刷する」「表示する」という英単語だから,その役割を想像することは簡単なはずです.
さてこの文法をもとに,先ほどのコードを読んでみましょう. コードの実行内容は以下のようになります.
- 1行目~3行目はコメントとして無視される.
- 4行目で「変数 x に 3 を代入」する.
#以降の文字は無視される. - 5行目で「変数 result に x * x + 5/2 - 0.1 の計算結果を代入」する.
- 6行目で「変数 result の内容を表示」する.
プログラムの基本は「変数」です.例えば x や y などの記号のことです.
一般にコンピュータに何かしらの処理を行わせる際には,まずは変数にデータの値を入れて,それからその変数に処理を加えます.そして処理の結果を別の変数に代入して表示するなどします.このように,プログラムでは「変数」を通じて色々なやり取りをします.
変数には好きな名前をつけることができます.ただし,いくつかのルールはあります.
- 変数の名前には大文字・小文字のアルファベットやアンダーバー
_などを使える.なお,大文字・小文字は区別される.つまりYとyは別なものとなる. - Pythonがすでに用意しているいくつかの「名前」を変数名に使うことはできない. (ほかに,数字を使えたりもします.適当にお試しを.もしおかしな名前を使った場合にはエラーとして指摘してもらえるので,ルールについてはそれほど気にする必要はありません)
"""
正しい名前の付け方 (エラーが出ない)
"""
a = 1
b_ = 'Apple' # 変数に文字列を代入することもできる('で囲む必要がある)
x3 = 3 # 変数名の先頭以外に数字が含まれる
"""
誤った名前の付け方 (エラーが出る,あるいは好ましくない)
"""
3x = 1 # 変数名の先頭に数字がある
変数1 = 2 # 全角文字を含む変数名は望ましくない
y = Apple # 文字列は ' と ' で囲まなければ正しく動作しない.
# ここでは, 変数 y に 変数 Apple の中身を代入する.
# (Appleという変数がないので,エラーが出る)
None = 3 # None はPythonがすでに用意している名前のため使えないもっと大切なことは,変数にわかりやすい名前をつけることです.わかりにくい名前をつけてしまうと,後で見返したり別の人とコードを共有する際に誤解が生じることがあります.例えばデータの処理結果を入れる変数名が Input_filename ではおかしいですよね?
コードを読みやすくすることも,プログラミングに慣れてきたら少しずつ意識してみてください.プログラミングにおいて「10秒前の自分は別人」です.ほんの数秒にプログラミングした内容すら忘れてしまうことも多々あります.自身のためにも,見返したときに理解できるコードを目指しましょう.
次のリンク先のコードを実行したとき,実行結果として何が表示されるか? 実際にコードを実行せず,読んで考えてみよう.