【Python3】標準入出力を解説【リストの入力・区切りなど】

Python3の標準入出力について初心者でも分かるように、分かりやすく解説していきます。

それぞれの意味を簡単に解説すると以下の通りです。

  • 標準出力:プログラムを画面に出力すること
  • 標準入力:データをキーボードから入力すること

文字だけだと分かりにくいと思うので、例文をもとに詳しく解説していきますね。

標準出力:print()

標準出力は「プログラムを画面に出力すること」を指しています。

標準出力は「print()」を使うのが一般的で、以下のように使います。

コードの実行方法が分からない方は、こちらを参考にしてください。

変数を使った標準出力

続いて変数を使った標準出力を解説していきます。

変数とは数値やデータを格納する箱のことで、例えば「a=10」とすると、「aという変数は10である」ことを宣言しています。

これを利用した標準出力の簡単な例を見ていきましょう。

※コメントアウトに書かれているのは、その行の出力結果

「+」と「,」では、表示のされ方が少し違うことが分かるでしょう。

また、8行目でstr(c)と書いているのは、cだけが数値なので文字列に変換しています。

文字列であるaとbを足すことはできますが、文字列と数値を足すことはできません。

そのため、足し合わす事ができるように、str()関数を用いて3という数値を「’3’」という文字列に変換しているのです。

  • ‘Hello’+’Python’+3・・・文字列と数値を足すのは不可能なのでエラーが発生
  • ‘Hello’+’Python’+’3’・・・文字列同士の足し算なので「HelloPython3」となる

ちなみに「a=’123’」という文字列を数値にしたい場合は、「int(a)」のように記述すればint型に変換することができ、数値として扱うことが出来ます。

標準入力(input)

標準入力は、「データをキーボードから入力すること」を指しています。

これにはinput()関数を使います。(C言語で例えるとscanfみたいなものです)

文字列(Str型)の標準入力

文字列をキーボードから入力する場合は、以下のように使います。

プログラムを実行してinput()があるところまで進むと、「キーボードの入力を待っている状態」になります

そこで入力した文字が変数nに代入されて、それをprint(n)で出力しています。

上記のコードの場合、キーボードで入力した言葉が「Hello World」であれば、出力されるのも「Hello World」になります。

数値(int型)の標準入力

数値をキーボードから入力する場合は、以下のように使います。

input()関数はデフォルトの場合、数値を入力したところで全て文字列となっています

数値として扱えるようにするには、上記のようにint()で囲って上げればOKです。

  • 1行目の意味:キーボードで入力した文字列をint型(数値)に変換してnに代入する

これによりnが数値となったので、4行目のように演算を行うことができています。

リスト型(配列)の標準入力・区切り

複数の数値をキーボードから入力する方法を解説していきます。

複数の要素を区切りたい場合は、split()関数を使います。これにより標準入力より配列を作ることが可能です。

また、split()関数に引数を与えることで以下のようにすることも可能です。

split()の引数で、「何で区切るか」を判断しています。(引数なしの場合はスペースで区切る)

 

上記のコードは区切ったは良いものの、その要素は文字列となっています。

int型として扱いたい場合は以下のように記述します。

少々ややこしいですが上のコードのように記述すれば、数値の配列として扱うことができます。

また、よくある間違いで「data = int(input().split())」と書いてしまうことがありますが、これはエラーになってしまうので注意しましょう。

まとめ

今回は標準入出力について解説しました。

標準入力はpaiza等のスキルチェック問題で頻繁に使うので、ぜひ覚えておきましょう。

特に最後に説明した以下の記述方法はかなりの頻度で使いますので、覚えておくといいですね!