【Python】appendメソッドはリストの初期化が必要(NameError: name ‘xxx’ is not defined)

2022年8月18日

「NameError: name 'xxx’ is not defined」

appendメソッドを使おうとして、このようなエラーメッセージが出ていませんか?

この原因はappendメソッドを使おうとしているリストが初期化されていないためです。

今回はエラーの発生するケースと、対処方法を説明します。

appendメソッドでエラーとなる例

xxx.append("値")

このようなコードを実行すると、NameErrorが発生します。

エラーの対処方法

xxx = []  # リストの初期化
xxx.append("値")

このようにappendメソッドを使う前に、リストの初期化をするとエラーは発生しません。

appendメソッドはリストの初期化が必要

Pythonは変数宣言が不要なため、いきなりappendメソッドを実行できそうな気がします。

しかし、変数宣言が不要ですが、代わりに初期化が必要になります。

具体的には x = “a"といった代入を行うことで変数が初期化されます。

この初期化を行わないと変数がリストとならないため、appendメソッドを使おうとするところでエラーが発生するのです。

先ほどのサンプルコードでは、xxx = []とすることでxxxをリストとして初期化しています。

xxx = [“値1", “値2", “値3"]のような形でもxxxは初期化されるため、エラーは発生しません。

VBAが難しいと感じたら
プロにお任せして代わりに作ってもらってはいかがでしょう?
こちらの記事でおすすめのプログラマーを紹介しています

他の「Python」の記事はこちらからどうぞ

Python

Posted by やろまい