icon
icon

Pythonの標準入力の基本を現役エンジニアが解説【初心者向け】

初心者向けにPythonの標準入力の基本について現役エンジニアが解説しています。標準入力とは、プログラムと実行環境との間に用意されているデーターの受け渡し口のことでキーボードが、標準出力先にはディスプレイが該当します。標準入力で文字列や数値を受け取ってみましょう。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Pythonの標準入力の基本について解説します。

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonの標準入力の基本について詳しく説明していくね!

大石ゆかり

お願いします!

 

input関数とは

input関数とは、Pyhonで標準入力を受け取るための関数です。標準入力とは、プログラムと実行環境との間に用意されているデーターの受け渡し口のことです。

プログラムとはPythonのソースコードのことを指します。実行環境とはプログラムを実行するPython.exe(Windowsの場合)を指します。標準入力はプログラムの実行中にキーボードから入力した値を受け取りたい時などに利用します。

input関数で標準入力を受け取ると、受け取った値はPythonでは文字列として扱われます。input関数の書き方は以下のとおりです。

変数 = input()

input関数に、標準入力を受け取る際に表示するメッセージを引数で指定することができます。

変数 = input("メッセージ")

input関数はPythonの組み込み関数の1つです。組み込み関数とはPython言語で最初から使えるようになっている関数のことで、input関数以外にもいくつか種類があります。

詳しくは以下を参考にしてください。

Pythonの組み込み関数(input)

 

文字列を入力して出力

標準入力を受け取る方法として、まずは文字列を入力する例を確認していきましょう。input関数で標準入力を受け取ると、受け取った値はPythonでは文字列として扱われます。

例えば以下はinput関数で受け取った値を変数「mei」に格納する例です。

mei = input()

それでは、文字列を入力して出力する例を確認してみましょう。

以下の例では、入力した文字列の前後の空白をstrip関数で除去した後、 +演算子を使って文字列を結合してsimei変数に格納しています。

si = input("名字を入力してください")
mei = input("名前を入力してください")
si = si.strip()
mei = mei.strip()
simei = si + " " + mei
print("こんにちは" + simei + "さん!")

実行結果は以下のようになります。
最初は「煌木」と入力し、次は「太郎」と入力しています。

名字を入力してください 煌木  
名前を入力してください太郎  
こんにちは 煌木 太郎 さん!

 

[PR] Pythonで挫折しない学習方法を動画で公開中

整数を入力して出力

次は整数を入力する場合です。

inputで受け取った値は文字列として扱われるので、数値に変換する必要があります。数値に変換するには、整数の場合はint()を、浮動小数点の場合はfloat()を使います。

以下の例では入力した値を整数に変換して、計算した結果を出力しています。

val = input("円の半径を入力してください")
radius = int(val)
area = radius * radius * 3.14
print("半径" + val + "の円の面積は", area, "です" )

実行結果は以下のようになります。

円の半径を入力してください10
半径10の円の面積は 314.0 です

 

複数の文字列を入力して出力

複数の文字列を入力する場合はinputを繰り返します。

以下はwhile句と組み合わせた例です。このようにすると、回数を決めずに複数の文字列を入力できますが、whileが無限ループにならないよう、終了条件はきちんと決めておきましょう

mylist = []
while True:
  val = input("値を入力してください(Enterのみで終了)")
  if len(val)==0:
    break
  mylist.append(val)

if len(mylist)>0:
  print("入力した値は以下のとおりです")
  for item in mylist:
    print(item)

実行結果は以下のようになります。

値を入力してください(Enterのみで終了)りんご
値を入力してください(Enterのみで終了)いちご
値を入力してください(Enterのみで終了)バナナ
値を入力してください(Enterのみで終了)チョコレート
値を入力してください(Enterのみで終了)
入力した値は以下のとおりです
りんご
いちご
バナナ
チョコレート

 

監修してくれたメンター

太田和樹(おおたかずき)

ITベンチャー企業のPM兼エンジニア

普段は主に、Web系アプリケーション開発のプロジェクトマネージャーとプログラミング講師を行っている。守備範囲はフロントエンド、モバイル、サーバサイド、データサイエンティストと幅広い。その幅広い知見を生かして、複数の領域を組み合わせた新しい提案をするのが得意。

開発実績:画像認識技術を活用した駐車場混雑状況把握(実証実験)、音声認識を活用したヘルプデスク支援システム、Pepperを遠隔操作するアプリの開発、大規模基幹系システムの開発・導入マネジメント。

地方在住。仕事のほとんどをリモートオフィスで行う。通勤で消耗する代わりに趣味のDIYや家庭菜園、家族との時間を楽しんでいる。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。