Pythonでキーボードからの入力を促す関数は2つあります。
ただ、この2つあるというのはPython2系のみです。
その2つとはinput関数とraw_input関数です。
Python3系になると、raw_input関数はなくなります。input関数のみとなっております。
2と3ではinput関数がが微妙に変わっているので、そこを抑えておきましょう。
Pythonのバージョンの確認
あなたの環境のPythonのバージョンがわからないという方は
「python -V」と入力すれば、バージョンを確認することができます。
Python2系でのinput関数とraw_input関数
Python2系でのinput関数は入力されたデータを式で扱い、raw_input関数では文字列として扱います。
計算式を入れたときが一番わかりやすいので見てみましょう
[python title=”Python2系”]
# input関数
a = input()
10 + 5
print(a)
15
# raw_input関数
b = raw_input関数
10 + 5
print(b)
’10 + 5′
[/python]
inputでは計算式で入力された値の結果が返ってきますが、
raw_input関数では入力されたものをそのまま文字列として返してくることになります。
Python3系でのinput関数
Python2系ではinput関数は入力されたデータを式で扱っておりましたが、
Python3系ではraw_input関数と同様に文字列として扱われることになり、raw_input関数も用意されていません。
[python title=”Python3系”]
c = input()
2 + 7
print(c)
‘2 + 7’
[/python]
それでは3系で2系と同様に計算して結果を返してほしい場合はどのようにしたらよいでしょうか。
似たような処理を実装することはできますが、厳密には同様のものは少し手順を多くしてあげる必要があります。
int関数やfloat関数によって実装します。
int関数やfloat関数は入力されたデータを数値データとして保持するので、それを裏側で計算してあげる必要があります。
[python]
num1 = input()
2
num2 = input()
7
num1 = int(num1)
num2 = int(num2)
ans = num1 + num2
print(ans)
9
[/python]
まとめ
キーボード入力自体はinput関数とraw_input関数を使うことによって簡単に実装することができます。
しかし、Python2と3では関数の働きが変わってきますので、よく覚えておきましょう。