Pythonのinput
関数は、ユーザーからの入力をプログラムに反映させるための重要な関数です。この記事では、input
関数の基本的な使い方から、複数の入力を受け取る方法、数値判定の方法までを解説します。
input関数とは?
input
関数は、キーボードからの入力を文字列として取得する関数です。具体的には、input()
関数の役割は以下の2つです。
- 括弧内に入れられた値を出力(表示)し、キーボード入力を待つ
- 入力(Enterキーを押下)した内容を文字列として取得する
word = input("何か入力してください --> ") # input関数で入力された値を、wordに保持
print(word) # word(input関数の入力結果)の中身を表示
上記のコードを実行すると、「何か入力してください –> 」と表示され、ユーザーの入力を待ちます。ユーザーがキーボードで何かを入力し、Enterキーを押すと、その入力内容が文字列としてword
変数に保持されます。
応用的な使い方
input
関数で入力内容を受け取る際、以下のような制約があります。
- 入力した内容は文字列として扱われる
- Enterキーを押すまでの内容を、1つの内容として解釈
そのため、「複数値(行)の入力ができない」「数値のまま取得できない」といった不便が生じる場合もあります。
一度に複数の値を受け取る場合
一度に複数の値を受け取る場合は、split()
メソッドを組み合わせて使用します。split()
では、括弧内で指定した値を「区切り文字」として、文字列を分割することができます。
name, age = input("名前と年齢を入力 --> ").split(", ")
print(name) # nameの中身を表示
print(age) # ageの中身を表示
数値かどうかを判定し、変換したい場合
input
の結果を数値に変換する場合は、int()
やfloat()
関数を使用します。int()
では文字列を整数に、float()
では浮動小数点数(小数)に変換することが可能です。
word = input("数値を入力してください --> ") # input関数で入力された値を、wordに保持
try:
word = int(word) # wordの中身を整数に変換する
except ValueError:
pass # 変換できない場合は、処理をスルー(文字列のまま)
print(word, type(word)) # wordの中身とデータ型を表示
この記事では、input
関数の基本的な使い方や、複数入力・数値判定の方法について解説しました。input
を活用すれば、ユーザーの入力した内容をプログラムに反映させることができます。Pythonを扱う上ではかかせない関数ですので、しっかりと使い方を押さえておくようにしましょう。