python

python

python入門~input関数と数値変換 | 独学プログラミング

こちらの記事では今までの内容を使って総復習の位置付けでinput関数を使った処理を説明していきます。

関数とはなにか

関数とは、printのように変数を渡して内容を表示してくれるものです。

今回は関数の中でもinput関数について説明していきます。

input関数の利用方法について

print関数は結果を表示する処理に対して、input関数は入力を受け付ける関数になります。

まずは以下例をコピペして実行してみてください。

# 入力を受け付ける
box = input('数字を入力してください:')

# 受け付けた数字を表示する
print(box)
「数字を入力してください:」が表示されて止まってるよ
例えば100を入力してみてください
100が表示された。入力した値がboxに入る?ってことね

input関数で受け付けた値を変化させてみる

それでは今までの記事で紹介した内容と今回のinput関数を使って「受け付けた数字の2倍の数を表示」するプログラムを作ってみましょう
boxの中身を2倍にすればよいから、、こうかな?
# 入力を受け付ける
box = input("数字を入力してください:")

# 入力された数字を2倍にする
box = box * 2

# 受け付けた数字を表示する
print(box)
100を入れたら100100になっちゃったよ。。。
これはboxの中身が文字列として扱われているためです。そのため数値に変換してあげる必要があります

文字列から数字への変換

関数の中には文字列を数字に変換する関数も用意されています。int(文字列)とすることで数字に変換することができます。

出来た!input関数で受け取った値は文字列で返却されるってことね
# 入力を受け付ける
box = input("数字を入力してください:")

# 入力された文字を数字に変換する
box = int(box)

# 入力された数字を2倍にする
box = box * 2

# 受け付けた数字を表示する
print(box)
バッチリです!今回のように関数には受け付ける型と戻す型が決まっています
関数を使う前に必ずチェックするようにしましょう

input関数の仕様

input関数の仕様を読んでみましょう。

input([prompt])

引数 prompt が存在すれば、それが末尾の改行を除いて標準出力に書き出されます。次に、この関数は入力から 1 行を読み込み、文字列に変換して (末尾の改行を除いて) 返します。 EOF が読み込まれたとき、 EOFError が送出されます。

https://docs.python.org/ja/3/library/functions.html#input

引数というのは関数に与える内容を指しています。

つまり引数promptは今回の例だと「数字を入力してください:」になります。末尾の改行を除いて標準出力に書き出されるとあるため、実行直後に表示されます。

次に入力から1行を読み込み、文字列に変換して返します。とあります。

上記の内容によりboxに入る内容は100ではなく"100"(文字列)が入ってくることが分かります。

また戻ってくる値を戻り値と表現します。引数と合わせて覚えておきましょう。

最初は読み解きづらいですが、初見の関数を利用する際は必ず公式ドキュメントをチェックするようにしましょう
正しい知識を得られる、不要なエラーを事前に回避できるとメリットが大きいです
今回のプログラムで変数を使う意味が理解できたかも!

python入門~input関数と数値変換 まとめ

今回はinput関数を例に関数の概念と使い方をチェックする方法について学びました。

また以前の記事で紹介した数字と文字列の違いや、変数のメリットについても理解が深まったと思います。

関数の中には複数の引数を必要とするものもあります。様々なページで無数の関数が紹介されていますが、確実に公式ドキュメントの内容をチェック→利用するようにしましょう。

次の記事では今回取り扱った関数やメソッドと呼ばれる処理の仕組みについて紹介します。

python入門~関数とメソッドの違い

補足~本ページQ&A

文字列もinputできてしまう

今回のプログラムだと文字列も入力できちゃうけど、文字列だったらもう1度入力させる方法ないかな??
入力を受け付ける→数値チェックする→数値じゃなければもう1度input関数で受付けする、、のように記述する必要があります

条件分岐やチェック処理などを理解する必要がありますので、今後の記事を通して学んでみてください

引数を複数受け付ける関数

複数の引数がある場合はどうやって記述したらいい?
以下例を見てみてください。カンマ区切りで指定します

min関数(複数の引数の中で一番小さいものを返却)を例に説明します。

# 複数の引数の中から一番小さい数値をboxに入れる
box = min(100, 200, 20)

# 実行結果:20
print(box)

こちらはマニュアルを確認すると「引数の中で最小の要素、または2つ以上の引数の中で最小のものを返します」とあるので、2つ以上の引数を制限無しで指定することが可能です。

また引数はカンマで区切って指定します。

-python
-

Copyright© ビギナープログラミング , 2020 All Rights Reserved.