input関数でPythonファイルのコマンドラインからテキストを入力のイメージ画像

input関数でPythonファイルのコマンドラインからテキストを入力

  • 公開日:2018/10/30
  • 更新日:2018/10/30
  • 投稿者:n bit

Pythonの組み込み関数『input関数』について解説。input関数を使えばPythonファイルを実行中のコマンドラインからテキストを入力し変数に取得することができます。

  • Python

この記事は約 分で読めます。(文字)

input関数とは

input関数はPythonファイルを実行しているコマンドラインから対話形式にテキスト入力を行い、Pythonのプログラム内にテキストを変数等に格納し取得することができる組み込み関数です。

コマンドラインにテキストを出力するprint関数の逆の働きをする組み込み関数といえます。

input関数の主な用途

  • コマンドラインから対話形式にテキスト入力し取得

input関数の使い方

input関数の使い方は入力テキストを求めるときに表示させるメッセージを引数として渡します。表示させるメッセージが無い場合は引数が不要です。

input('表示メッセージ')

実際にinput関数を使ってコマンドラインから対話的なやりとりを行ってみましょう。

input() でコマンドラインから入力テキストを取得する

input関数を使ってコマンドラインから入力テキストを取得し変数に格納後print関数で出力してみます。

今回はクラウド型のエディタpaiza.io等では少しテストしにくいので直接ターミナルからPythonを起動し入力していきましょう。

Pythonを起動するには下記のコマンドを入力してください。

$ python

出力結果

>>>

出力結果のように三つの「大なり記号」 (>>>) が表示されればPythonのコード入力準備ができました。

それではinput関数を利用してコマンドラインから変数に入力テキストを格納していきます。

>>> x = input('input_text:')

出力結果

input_text:

引数に指定したメッセージがコマンドラインに表示されています。後に続けて変数に格納したいテキストを入力しましょう。

正しく取得できているかprint関数で変数xの値をコマンドラインに出力します。

input_text:test text

>>> print(type(x))

出力結果

test text

先ほど入力したテキストが正しく表示されているのが確認できます。

Pyton3ではinput関数で代入演算されない

Python2のinput関数では数式を入力した場合、演算された結果が代入されていました。しかしPython3ではinput関数に数式を入力してもテキストの数式としてそのまま出力されます。

>>> x = input('input_text:')

input_text:3 + 4
>>> print(x)

出力結果

3 + 4

コマンドラインから入力した数式『3 + 4』の演算結果『7』が出力されるのではなく数式『3 + 4』がそのまま出力されているのが確認できます。

インプット関数で入力した数値もテキストとして格納される

input関数でコマンドラインから入力した数字も必ずテキストとして代入されています。type関数を利用して確認してみましょう。

>>> x = input('input_text:')

input_text:3
>>> print(type(x))

出力結果

<class 'str'>

文字列型を表す<class 'str'>が出力されました。テキストのためこのままでは演算に利用することができません。

入力した数値を変数に格納後演算などに利用したい場合はint()またはfloat()を利用して数字に変換しておく必要があります。

>>> x = input('input_text:')

input_text:3
>>> y = int(input('input_text:'))
input_text:4
>>> x = int(x)
>>> y = int(y)
>>> print(x + y)

出力結果

7

コマンドラインから取得したテキストを全てint()で整数に変換したため演算を行うことができました。

今日のdot

『input関数』は学習時や分析を行うためのプログラムなど値の入出力を対話的に利用したいようなケースでよく利用します。

コマンドラインから取得したテキストは必ず文字列型『<class 'str'>』になっていることに注意しましょう。