【Python】NameError: name ‘xxx’ is not defined(appendメソッドはリストの初期化が必要)
「NameError: name 'xxx’ is not defined」
appendメソッドを使おうとして、このようなエラーメッセージが出ていませんか?
この原因はappendメソッドを使おうとしているリストが初期化されていないためです。
今回はエラーの発生するケースと、対処方法を説明します。
NameError: name 'xxx’ is not definedの原因
xxx.append("値")
このようなコードを実行すると、NameErrorが発生します。
エラーの対処方法
xxx = [] # リストの初期化
xxx.append("値")
このようにappendメソッドを使う前に、リストの初期化をするとエラーは発生しません。
appendメソッドはリストの初期化が必要
Pythonは変数宣言が不要なため、いきなりappendメソッドを実行できそうな気がします。
しかし、変数宣言が不要ですが、代わりに初期化が必要になります。
具体的には x = “a"といった代入を行うことで変数が初期化されます。
この初期化を行わないと変数がリストとならないため、appendメソッドを使おうとするところでエラーが発生するのです。
先ほどのサンプルコードでは、xxx = []とすることでxxxをリストとして初期化しています。
xxx = [“値1", “値2", “値3"]のような形でもxxxは初期化されるため、エラーは発生しません。