raw_input と input はどちらも python の組み込み 関数 であり、コンソールから入力を読み取ることでユーザーと対話します。しかし、それらの機能は同じではありません。ここでは、使用法の違いを示す 2 つの例を示します。
例 1
Python 2.7.5 (default, Nov 18 2015, 16:26:36) [GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> >>> raw_input_A = raw_input("raw_input: ") raw_input: PythonTab.com >>> print raw_input_A PythonTab.com >>> input_A = input("Input: ") Input: PythonTab.com Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> NameError: name 'PythonTab' is not defined >>> >>> input_A = input("Input: ") Input: "PythonTab.com" >>> print input_A PythonTab.com >>>
例 2
Python 2.7.5 (default, Nov 18 2015, 16:26:36) [GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> >>> raw_input_B = raw_input("raw_input: ") raw_input: 2015 >>> type(raw_input_B) <type 'str'> >>> input_B = input("input: ") input: 2015 >>> type(input_B) <type 'int'> >>>
例 1 ご覧のとおり、両方の関数は strings を受け取ることができますが、 raw_input() はコンソールから入力を直接読み取ります (任意のタイプの入力を受け取ることができます)。 input() に関しては、正当な Python expression を読み取れることを望んでいます。つまり、文字列を入力するとき それを引用符で囲む必要があります。そうしないと、SyntaxError が発生します。
例 2 ご覧のとおり、 raw_input() はすべての入力を文字列として扱い、文字列型を返します。また、input() は純粋な数値入力を処理する際に独自の特性を持ち、同時に入力された数値の型 (int、float) を返します。例 1 に示すように、input() は正当な Python 式を受け入れることができます。例: input(1 + 3) は int 型の 4 を返します。
Python マニュアル を参照して、次のことを確認してください:
input([prompt]) eval(raw_input(prompt)) と同等 input() は、基本的に raw_input() を呼び出した直後に raw_input() を使用して実装されます。 eval() 関数を呼び出す前に、式を引数として input() に渡すこともでき、式が評価されて返されます。 しかし、組み込み関数には次のような文があります: ユーザーからの一般的な入力には raw_input() 関数の使用を検討してください。input() に特別なニーズがない限り、一般的にそれを推奨します raw_input() を使用しますユーザーと対話するため。
以上がraw_input() と input() の違いの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。