ホームページ > バックエンド開発 > Python チュートリアル > Python の入力関数を使用すると NameError が発生するのはなぜですか?

Python の入力関数を使用すると NameError が発生するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-12-20 00:54:09
オリジナル
774 人が閲覧しました

Why Am I Getting a NameError When Using Python's Input Function?

NameError: 入力関数を使用するときに名前 '入力変数' が定義されていません

Python では、input 関数を使用してユーザー入力をキャプチャできます。ただし、input 関数の使用時に NameError が発生した場合、この記事では原因を調査し、解決策を示します。

Python 2.7 と 3.x

Python 2.7 、入力には input と raw_input の 2 つの関数がありました。 input 関数は入力を Python 式として評価しますが、raw_input は単に入力を文字列としてキャプチャします。

Python 3.x では、raw_input の名前が input に変更されました。ただし、新しい入力関数は古い raw_input と同じように動作し、標準入力から行を読み取り、それを文字列として返します。

Python 2.7 の NameError のトラブルシューティング

Python 2.7 で input 関数を使用するときに NameError が発生した場合は、入力を割り当てようとしている変数が存在しないことを示しています。現在の Python コンテキストで。名前エラーは、入力を Python 式として評価しようとしたが、未定義の変数のために失敗した場合に発生します。

Python 2.7 のセキュリティに関する考慮事項

ユーザー入力を評価する input 関数もセキュリティ上のリスクを引き起こします。スクリプトが昇格された権限でモジュールを読み込む場合、悪意のあるコードを含むユーザー入力によりシステムが侵害される可能性があります。

解決策

NameError を防止し、セキュリティ リスクを軽減するには、raw_input を使用します。代わりに Python 2.7 の関数を使用してください。この関数は、入力を評価せずに文字列として単に取得します。入力を特定のデータ型に変換する必要がある場合は、整数の int() などの適切な関数を使用できます。

Python 3.x では、input 関数を使用できます。この関数は現在次のように動作します。 Python 2.7 の raw_input のような

以上がPython の入力関数を使用すると NameError が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート