Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでユーザー入力を受け取る方法【Python 2とPython 3の違いを解説】

このチュートリアルでは、Pythonでユーザーからの入力を受け取る方法について学びます。バージョンによって入力の扱い方が異なるため、それぞれの特徴を理解しておきましょう。

Python 2における入力関数

Python 2では、ユーザーから入力を受け取るための関数が2つ用意されていました。1つはraw_input()、もう1つはinput()です。

  • raw_input([prompt]):ユーザーからの入力を文字列(str型)として受け取る関数です。
  • input([prompt]):ユーザーからの入力を整数(int型)として評価して受け取る関数です。

使用例

# '文字列'の入力を受け取る
a = raw_input('Enter your name:- ')
# 型を出力する
print(type(a))
# 'int'の入力を受け取る
b = input()
# 型を出力する
print(type(b))

実行結果

上記のコードを実行すると、次のような結果が得られます。

Enter your name:- Tutorialspoint
<type 'str'>
5
<type 'int'>

Python 3における入力処理

Python 3では、raw_input()関数は廃止されました。現在、ユーザーから入力を受け取るために使えるのはinput([prompt])関数のみです。そして重要なポイントとして、ユーザーが入力した内容はすべて文字列(str型)として扱われます。

そのため、数値などの別のデータ型として扱いたい場合は、int()やfloat()といった組み込み関数を使って明示的に型変換を行う必要があります。具体的な例を見てみましょう。

使用例

# ユーザーから入力を受け取る
a = input('Enter a name:- ')
# データとその型を出力する
print(type(a), a)
# 数値の入力を求める
b = input('Enter a number:- ')
# '文字列'を'int'に変換する
b = int(b)
# データとその型を出力する
print(type(b), b)

実行結果

上記のコードを実行すると、次のような結果が得られます。

Enter a name:- Tutorialspoint
<class 'str'> Tutorialspoint
Enter a number:- 5
<class 'int'> 5

まとめ

このように、Python 2とPython 3では入力の扱い方が大きく異なります。特にPython 3では、input()で受け取った値は必ず文字列になるため、数値として計算に使いたい場合はint()やfloat()などで型変換することを忘れないようにしましょう。型変換を怠ると、意図しないエラーや動作の原因になります。

このチュートリアルについて不明な点や疑問がある場合は、ぜひコメント欄でお知らせください。

  1. Pythonのinput()関数とは?役割と使い方をわかりやすく解説

    Pythonのinput()関数は、ユーザーからのキーボード入力を受け付けるための標準関数です。引数に文字列(プロンプト)を渡すと、そのメッセージが画面に表示され、ユーザーがEnterキーを押すまで入力を待ち続けます。入力された内容は関数の戻り値としてプログラムに返されます。Python 2.x と Python 3.x の違いバージョンによってinput()の挙動が異なる点に注意が必要です。Python 2.x の場合Python 2では、raw_input([prompt])という関数が用意されており、ユーザーの入力をすべて文字列(str)として返します。一方、input([prompt]

  2. Pythonのraw_input()関数とは?役割とinput()との違いをわかりやすく解説

    raw_input()関数の基本的な動作Python 2におけるraw_input()関数は、ユーザーに対してプロンプト(入力を促すメッセージ)を表示し、キーボードから入力されたデータを受け取り、その内容を文字列(str型)として返す関数です。引数は省略可能で、raw_input([arg])のように文字列を渡すと、それがそのままプロンプトとして画面に表示されます。以下は典型的な使用例です。name = raw_input(What is your name? ) print Hello, %s. % nameこのコードを実行すると、まず「What is your name? 」というプロンプ