ホームページ >バックエンド開発 >Python チュートリアル >`input()` を使用して引用符なしで文字列を入力すると、Python 2.7 が `NameError` をスローするのはなぜですか?

`input()` を使用して引用符なしで文字列を入力すると、Python 2.7 が `NameError` をスローするのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-28 14:47:021128ブラウズ

Why does Python 2.7 throw a `NameError` when entering strings without quotes using `input()`?

ユーザー入力の操作: Python 2.7 での引用の問題を克服する

Python 2.7 を使い始めると、特有の問題に遭遇するかもしれません。引用符で囲まれていないユーザー入力を取得しようとしたとき。これは、特に入力された文字列を Python 文字列として操作したい場合に、イライラする障害になる可能性があります。

次のように input() 関数を使用しようとした場合:

testVar = input("Ask user for something.")

ユーザーが引用符なしで「Hello」と入力すると、次のエラーが発生することに気づいたかもしれません:

NameError: name 'Hello' is not defined

この一見不可解なエラーは、Python 2.7 の input() 関数がユーザーのPythonコードとして入力します。したがって、引用符で囲まれていない文字列に遭遇すると、インタプリタはそれを文字列リテラルではなく変数参照として解釈します。

この問題を解決し、ユーザーの入力が引用符のない文字列として扱われるようにするには、次のようにします。 raw_input() 関数を利用します。

testVar = raw_input("Ask user for something.")

input() とは異なり、raw_input() はユーザーが入力した文字列をそのまま保持するため、追加の引用符を考慮せずに文字列として操作できます。

重要なポイント:

主な目的が引用符を必要とせずにユーザーから文字列を取得することである場合は、input() ではなく、常に raw_input() を選択してください。この単純なスイッチにより、誤った変数参照の可能性が排除され、シームレスな文字列操作が保証されます。

以上が`input()` を使用して引用符なしで文字列を入力すると、Python 2.7 が `NameError` をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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