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