【Python入門】input関数の使い方をわかりやすく解説

今回はPythonのinput関数について解説します。input関数はユーザーがキーボードに入力したデータを受け付ける関数です。このinput関数を使うことによって、対話的なプログラムを作ることができます。

この記事では、

  • input関数とは
  • input関数の使い方

について解説します。さらに、

  • input関数で入力された数値の扱い方
  • 簡単なCLIアプリの作成

を通してより実用的な動作の流れを解説します!
※ この記事のコードはPython 3.7, Ubuntu 18.04で動作確認しました。

なお、Pythonの記事については、こちらにまとめています。

input関数とは

これから学ぶinput関数とはどういった機能を持つのか、見ていきましょう!

input関数の基本

input関数とは、ユーザーがキーボードに入力したデータを受け付けるための関数です。よく使うprint関数は標準出力として用意されているのに対して、input関数は標準入力として用意されています。

標準入力、標準出力とはそれぞれのプログラミング言語で用意されているシステムでプログラムを書くときには欠かせないシステムになります。print関数については、こちらの記事をご覧ください。

Pythonで文字列を出力するprint関数の使い方まとめ
更新日:2023年3月21日

raw_input関数との違い

Python2系では、raw_input関数と、input関数が用意されていました。しかしPython3系では、input関数のみになりました。Python2系のraw_input関数と、Python3系のinput関数には違いがなく、どちらも入力されたデータを文字列として返します。

しかし、Python2系のinput関数は、与えられたデータを式として計算をします。なので、まとめるとこのようになります。

# Python2系のraw_input関数
x = raw_input() 
print(x)

# このコードを実行するとキーボード入力を求められます。 
# 例えば、1 + 2と入力すると、以下のようにprintされます。
'1 + 2'

# Python2系のinput関数
y = input()
print(y)
# このコードを実行するとキーボード入力を求められます。 
# 例えば、1 + 2と入力すると、以下のようにprintされます。
3

# Python3系のinput関数
z = input()
print(z)
# このコードを実行するとキーボード入力を求められます。 
# 例えば、1 + 2と入力すると、以下のようにprintされます。
'1 + 2'

与えたデータを文字列として扱いたいのか、数値として扱いたいのかを明確にしましょう!


【何から学べばいいかわからない…そんな悩みを解決します!】

完全無料ですぐわかる「プログラミング学習プラン診断」

・適性にあわせて学習プランを診断
・完全無料で気軽に診断できる
・学習の悩みもまるっと解決

さっそく診断してみる

input関数の使い方

ここからは実際にinput関数を使ってみましょう。実行はIPythonを使って対話的にしていきます。ぜひ一緒に実行しながら読み進めて行きましょう!

input関数をつかってみよう

まずはこちらのサンプルコードをご覧ください。

In [1]: x = input("Please Enter Number: ")
Please Enter Number: 100

In [2]: print(x)
100

xにinput関数で入力を受け付けた数値を代入して、print関数で表示しています。とても単純な関数だということがわかると思います。しかし、ここで気をつけなければならない点があります。

input関数の引数の文字列に含まれる改行は、自動的に無視されるという点です。また、input関数が実行されているときに入力した文字列についても、改行コードは自動的に無視されます。

input関数の中で数値を扱おう

冒頭に触れたように、input関数は入力されたデータを文字列として扱います。しかし、入力されたデータをもとに計算を行う場合は、入力した数値を数値として扱ってほしい場合もあると思います。そのようなときにはint関数とfloat関数を使うことができます。

intやfloatって型じゃなかったの?と思う方もいるかもしれません。少しややこしいのですが、同じ名前で関数としても機能するのがこのint関数とfloat関数になります。Pythonにはこのような関数がたくさんあることも、覚えておきましょう。

ここでサンプルコードを見てみましょう。※以下のコードはIPython上で実行しています。In [~]と書かれた行がコードです。

In [3]: num1 = input("input num1: ")
input num1: 10

In [4]: print(num1)
10

In [5]: num2 = input("input num2: ")
input num2: 20

In [6]: print(num2)
20

In [7]: num1 = int(num1)

In [8]: num2 = int(num2)

In [9]: ans = num1 + num2

In [10]: print(ans)
30

2つの数字を入力し、足し合わせたものを表示するだけのプログラムです。少々長いサンプルコードですが、難しい処理はしていません。num1とnum2に数字を入力して、それをその都度表示して確認しています。

そしてnum1とnum2をint関数を使って文字列から数字にしています。数字になった入力済みのデータをansに代入して足し合わせて、足し合わせたものを最終的に表示しています。ちなみに、Pythonのコンソールでinput関数を使用したときの挙動はこのようになります。

input関数を使ったCLIアプリを作ってみよう

ここからは実際にinput関数を使って簡単なアプリを作ってみましょう。CLIとは、コマンドラインインタフェース(Command Line Interface)の略です。

普段使っているGUI(Graphical User Interface)の環境とは違い、文字の入力だけですべての操作を行う環境のことです。WindowsであればコマンドプロンプトかPowerShell、MacであればターミナルがCLIにあたります。今回はこのようなサンプルコードを作ってみました。

while True:
    ans = input("You: ")
    if ans == "q":
        break
    print(ans)

こちらのサンプルコードをcli.pyという名前で保存して、実行してみましょう。実行は、cli.pyの保存場所にコマンドで行き、

python cli.py

というコマンドを入力すると実行されます。この、サンプルコードの解説をします。while文の中にinput関数が入っています。while文については、こちらの記事をご覧ください。

【初心者必見】Pythonのwhile文の特徴や使い方を徹底解説!
更新日:2023年3月21日

while文の横のTrueは常にTrueなので、このままでは無限ループをし続けます。そこで、入力された文字列が「q」である場合、breakが発動してループを抜けます。このwhile文にif文で様々な命令や条件を追加していくと、より対話的なプログラムを作ることができます。


【何から学べばいいかわからない…そんな悩みを解決します!】

完全無料ですぐわかる「プログラミング学習プラン診断」

・適性にあわせて学習プランを診断
・完全無料で気軽に診断できる
・学習の悩みもまるっと解決

さっそく診断してみる

このままPythonを学び続けて大丈夫?

なぜPythonを学ぶのか?

あなたがPythonを学ぶ理由は何でしょうか?

  • Pythonが人気だからとりあえず学んでいる
  • AIや機械学習の分野に興味があるから

Pythonは初心者向けの言語と言われています。その理由としてシンプルでわかりやすい構文や、実用的なライブラリが豊富なことが挙げられ、実際に学びやすい言語です。

しかし、もしあなたが機械学習に興味があって、とくに知識も無いまま学習を進めると、挫折する可能性が高いと言えます。

機械学習の分野はプログラミング以外にも、専門的な知識や数学の知識も必要になります。ただなんとなく学習していると早い段階でつまづきやすく、そのまま挫折してしまうなんてことも…。

そのため、挫折しないためには、

  • 機械学習に最適な学習環境を用意する
  • 必要なライブラリ・ツールを導入する
  • わからないことを質問できるメンターを見つける

などが必要になります。

効率よく学びたいなら、無料カウンセリングがおすすめ

このままPythonを学び続けていいのかな…
まだまだ知りたいことがたくさんある!
もっと詳しくPythonについて知りたい!
といった悩みや願望を持っている方は、弊社「侍エンジニア」をご利用下さい。

侍エンジニアでは、

  • 現役エンジニアによるマンツーマンレッスン
  • キャリアアドバイザーによる転職・就職支援
  • 業界屈指のフリーランス・起業サポート

を受けることができます。

業界屈指のコンサルタントから、効率的な学習方法や仕事獲得術、今後のキャリアまでさまざまな疑問を相談してみませんか?遠方の方でもオンラインで受講できます!お気軽に受講下さい。

侍エンジニア
無料カウンセリングを受ける

まとめ

input関数の簡単な使い方について解説してきました。文字列から数字に変換をする方法はinput関数を使うときだけではなく、他の場面でもよく使われるので覚えておきましょう。

そして最後に作ったCLIアプリですが、ここに様々な機能を追加していくことで、より立派なプログラムが出来上がります。これからPythonを学習していく方は、学習していった内容を機能として追加していくと面白いかもしれません。

input関数以外でも、現在Pythonを勉強中の方は以下の記事もお読みください。

Pythonでできること、勉強法などもまとめています。

Python入門完全攻略ガイド

プログラミング学習中、
誰かへ相談したいことはありませんか?

SAMURAI TERAKOYA

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

気になる方はぜひ詳細をご覧ください。

→侍テラコヤの詳細をみる

Writer

侍エンジニア編集部

株式会社SAMURAI

侍エンジニアは「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close