このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

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

2023年6月1日

「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は初期化されるため、エラーは発生しません。

Python

Posted by やろまい