ホームページ  >  記事  >  バックエンド開発  >  Python の input() と raw_input() の違いの分析と紹介

Python の input() と raw_input() の違いの分析と紹介

高洛峰
高洛峰オリジナル
2017-03-07 16:13:571423ブラウズ

input のソースコードを見てみましょう

def input(prompt):
return eval(raw_input(prompt))

実際、input は raw_input も呼び出しますが、eval 処理を行います

そして eval は何をするのか?

input: ユーザーの入力に基づいて型変換が行われます
raw_input: ユーザーの入力が文字列として処理されます

以下は詳細な補足です:

まず、input() と raw_input について理解します。 () は、コンソールから入力を取得するために使用されます。 もちろん、入力時に入力プロンプト情報を追加することもできます。

        a = raw_input("Please input a:")
        b = input("Please input b:")

それでは、この 2 つの違いは何でしょうか?

input() は、ユーザーによる数値または式の入力をサポートしますが、数値を返す文字列の入力はサポートしません。 Raw_input() は元の入力をキャプチャします。つまり、文字列を返すため、入力が数値の場合は、強制変換を実行する必要があります。例:

   a = int(raw_input("Please input the number a:"))

実際、input() は基本的に raw_input() を使用して実装されます。したがって、input() に特別な必要がない限り、通常はこれを実行します。ユーザーと対話するには、raw_input() を使用することをお勧めします。


map は関数と反復可能なオブジェクト (リストなど) をパラメーターとして受け取り、関数で各要素を処理し、新しいリストを返します。
ACM は a b c などの行形式を入力する必要がある場合があります。この場合、a、b、c はすべて整数であると想定されます。
a,b,c = map(int, raw_input().split())、raw_input 関数は文字列を入力し、文字列の split メソッドを使用して文字列をシーケンスに分割します。

Python の input() と raw_input() の違いの分析と紹介に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。