HOWTO · Python
NameError を修正: Python で入力名が定義されていません
バージョン 3.0 より前の Python では、ユーザーの入力を受け取るための組み込みメソッドが 2つあります。 1つは入力関数で、もう 1つは raw_input 関数です。 しかしその後、バージョン 3.X で両方が結合され、1つの入力関数になりました。
このページの内容
Python 2.7 および 2.x バージョンでは、raw_input() 関数と input() が、ユーザーの入力を受け取る 2つの組み込み関数でした。 しかし、Python 3,0 のそれ以降のバージョンでは、raw_input() は input() に名前が変更され、現在も使用されています。
Python の NameError: 入力名が定義されていません を修正する
古いバージョンの Python では、input 関数を使用して Python 式を評価していましたが、文字列を読み取りたい場合は、その目的で raw_input を使用していました。 しかし、現在、raw_input 関数は入力として名前が変更されているため、Python の 3.x バージョンでは機能しません。
例を通してそれを理解しましょう。
このトピックのために、Python バージョン 2.7 を使用しています。 これを Python の 3.x バージョンで使用すると、このコードはエラーなしで実行されます。
# Python 2.7 version
name = input("Hi! What is your good name? ")
print("Nice to meet you " + name)
出力:
NameError: name 'Zeeshan' is not defined
上記のコードは、古いバージョンの Python で文字列を読み取るのではなく、Python 式を評価するために入力が使用されていたため、Name Error を引き起こしました。 そして、この名前エラーを修正するために、raw_input 関数を使用できます。これは、文字列を読み取るように構築されているためです。
raw_input 関数で Name Error を修正しましょう。
name = raw_input("Hi! What is your good name? ")
print("Nice to meet you " + name)
出力:
Hi! What is your good name? Nice to meet you Zeeshan
ご覧のとおり、raw_input 関数は Name Error を修正し、プログラムをスムーズに実行しました。