ホームページ >バックエンド開発 >Python チュートリアル >Python の「input()」が整数ではなく文字列を返すのはなぜですか?

Python の「input()」が整数ではなく文字列を返すのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-23 15:18:18961ブラウズ

Why Does Python's `input()` Return Strings Instead of Integers?

x と y が整数ではなく文字列を受け取る理由

提供されたコードを実行するとき、特に行 x = input("数値を入力してください: ") および y = input("数値を入力してください: ") の場合、ユーザーに値の入力を求めます。値は x と に保存されます。 y は整数ではなく文字列として返されます。

この動作の理由

この動作は、異なるバージョンでの Python の入力処理が原因で発生します。 Python 3 では、提供されたコードが実行される可能性が高く、input() 関数はデフォルトで入力された値を文字列として返します。この文字列を整数に変換するには、以下の変更されたコードに見られるように、明示的なキャストが必要です。

x = int(input("Enter a number: "))
y = int(input("Enter a number: "))

異なる基数の処理

Python は多用途を提供します。さまざまな拠点の数を受け入れるためのアプローチ。以下に示すように、キャスト中に適切な基数を使用すると、さまざまな基数の数値を解釈できるようになります。

data = int(input("Enter a number: "), 8)  # Converts to base 8 (octal)
data = int(input("Enter a number: "), 16)  # Converts to base 16 (hexadecimal)
data = int(input("Enter a number: "), 2)  # Converts to base 2 (binary)

小数値の浮動小数点への変換

値の場合小数部分が含まれる場合があるため、整数ではなく浮動小数点に変換することが適切です。これは、次の構文を使用して実現できます:

x = float(input("Enter a number:"))

Python 2 と 3 の特徴

概要

ユーザー入力に関する Python 2 と 3 の主な違い

  • Python 2 の入力関数は受信したデータを評価して暗黙的に整数に変換しますが、Python 3 の入力関数はデフォルトで文字列として返します。
  • Python 2 は両方を提供します。 input 関数と raw_input 関数ですが、Python 3 にはinput.

Python 2.x の動作

  • input 入力された式を評価し、結果を適切な型 (整数や文字列など) として返します。 ).
  • raw_input は入力を文字列として取得しました。解釈。

Python 3.x の動作

  • input は Python 2 の raw_input と同様に機能し、入力を文字列として返します。

Python の潜在的な危険性2.x input Function

Python 2.x で input 関数を使用する場合は、悪意のあるプログラムの実行を許可するなど、意図しない動作につながる可能性があるため、その自動評価に注意することが重要です。コード。

以上がPython の「input()」が整数ではなく文字列を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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