この記事ではPythonの基礎知識をお伝えします。
この記事を読むと、
Pythonで簡単なプログラムを書く
ことができるようになります。
対話シェル、IDLE
Pythonをインストールすると、IDLEという「Pythonの実行環境+エディタ」も一緒にインストールされます。まずはIDLEを使い、Pythonの基礎を学びます。
IDLEはエディタとしては本格的なエディタには及びませんし、今のエディタはワンクリックで実行まで持っていける、もはや統合開発環境と呼んでいいものが大半ですが、まずPythonの勉強をするならIDLEで十分です。何と言っても最初からインストールされていて準備の手間が無いのが一番の魅力です。まずはIDLEから始めましょう。
IDLEではプログラムを書いて実行することもできますし、対話シェルと言って、一行ずつコードを入力して実行させてその結果を受け取ることもできます。手軽にPythonのコードを試してみるのに最適です。
IDLEを使って学ぼう
IDLEを立ち上げてください。次のような画面になります。
この>>>が表示されている状態が、IDLEが対話シェルになっている状態です。ここにコードを打ち込んでいきます。
入出力
入力はinput、出力はprintです。
まずは文字を出力させてみます。
>>> print('エンジニアが仕事で役立つノウハウ') エンジニアが仕事で役立つノウハウ
Pythonは一行で一つの文です。改行で区切ります。printは()を付けて、文字列は’または”で囲みます。
半角と全角を間違わないでください。
文字を入力させてみます。
>>> input() テスト 'テスト'
input()と打つと、次の行で入力を待ちます。その行にテストと打ち込んだので、入力結果のテストが表示されます。
でも、何かメッセージがほしいので、「文字を入力してください:」とプロンプトを出してみましょう。
>>> input('文字を入力してください:') 文字を入力してください:テスト2 'テスト2'
今度は、:の後で入力を待つようになりました。
計算
Pythonには様々な演算子がありますが、ここでは加減乗除について見ていきましょう。
加算
>>> 2+3 5
減算
>>> 2-3 -1
乗算
>>> 2*3 6
除算
>>> 2/3 0.6666666666666666
乗算は*、除算は/で表します。割り切れない場合、「有効桁数」に丸められた結果が出力されます。
変数
変数とは、数や文字列などを入れておく「箱」です。
>>> a=1 >>> print(a) 1
=は←と考えると理解しやすいです。aに1を代入します。
その後printでaの中身を表示すると、確かに1になっています。
また、次の書き方は頻繁に使用します。
>>> a=1 >>> a=a+1 >>> print(a) 2
初めはいいですね。aに1を代入してます。
次の行はこういう意味です。
a←a+1
今のaに1を足して、それをまたaに代入せよ、という意味です。数学の=とは全く意味が違います。だから結果は2になります。
これは初心者が最も戸惑うところで、かつよく使用するので、覚えておいてください。
条件文
「もし~だったら、次を実行せよ」はifです。
>>> b=2 >>> if b==2: print('bは2です') bは2です
ifのあとに条件文を書きます。==は、「等しい」です。=ではありません。そしてifの行は:を付けます。
実行させたい文は、インデントと言って、行の最初を開ける決まりです。何文字開けるのかは決まっていませんが、だいたいタブ文字1文字が使われます。
今は対話シェル上でやっているので分かりにくいですが、実際のプログラム上では
if b==2: print('bは2です)
となります。
繰り返し
繰り返しにはfor…inを使います。
>>> for i in range(10): print(i) 0 1 2 3 4 5 6 7 8 9
rangeとは、ここでは0,1,2,3,4,5,6,7,8,9の数の列を作るものだと覚えておいてください。0から始まる10個の数を作るんですね。それらを順番にiに代入していきます。
次のブロックを繰り返し実行します。ここではiの中身をprintしています。
プログラムを書いてみよう
さてここまで覚えたところで、簡単なプログラムを書いてみましょう。File→New Fileとしてみてください。真っ白な、何も書かれていないウィンドゥが開きます。
そこに、次のように打ち込みます。
for i in range(10): if i == 0: print('最初です') elif i == 9: print('最後です') else: print('途中です')
保存して、Run→Run Moduleから実行してみましょう。
最初です 途中です 途中です 途中です 途中です 途中です 途中です 途中です 途中です 最後です
elifとは「その条件に当てはまらない場合、次に当てはまれば」、elseとは「全ての条件に当てはまらなかったら」です。
0のとき「最初です」を表示して、9のとき「最後です」を表示しています。
これがプログラムです。
関数
このプログラムを関数にしてみましょう。
def loop_test(): for i in range(10): if i == 0: print('最初です') elif i == 9: print('最後です') else: print('途中です') loop_test()
関数はdefで宣言します。その後ろに関数名を付けます。やはりインデントを付けます。
このプログラムの実行結果は
最初です 途中です 途中です 途中です 途中です 途中です 途中です 途中です 途中です 最後です
変わりませんね。
関数があると、Pythonのコードはその部分を実行しません。関数が呼び出されたとき(上で言えばloop_test()と書かれたとき)に関数を呼び出して実行します。
プログラムの各所での共通の処理を関数にします。
このプログラムをこう変えると
def loop_test(): for i in range(10): if i == 0: print('最初です') elif i == 9: print('最後です') else: print('途中です') loop_test() loop_test()
最初です 途中です 途中です 途中です 途中です 途中です 途中です 途中です 途中です 最後です 最初です 途中です 途中です 途中です 途中です 途中です 途中です 途中です 途中です 最後です
loop_testが2回実行されます。
Pythonの世界はここから
この記事ではPythonの基礎の基礎を見てきました。
Pythonには便利な機能がたくさんあります。ここで紹介したのは本当に基礎の基礎で、Pythonの持つ能力をほとんど全く使っていません。
でも、Pythonの世界はここからです。勉強をすすめてみてください。