ホームページ >バックエンド開発 >Python チュートリアル >「example = list(...)」が「TypeError: 'list' object is not callable」をスローするのはなぜですか?
「example = list(...)」の結果「TypeError: 'list' object is not callable」が発生するのはなぜですか?
Python では、コード「example = list(...)」は、指定された引数から作成されたリストを変数「example」に割り当てます。ただし、「TypeError: 'list' object is not callable」というエラーが発生した場合は、名前「list」が呼び出し不可能なオブジェクトに再割り当てされていることを示します。
具体的には、Python では次のシャドウイングが許可されています。組み込み名。つまり、組み込み関数またはクラスと同じ名前の変数を作成できることを意味します。これが発生すると、ローカル変数が組み込み変数よりも優先され、そのスコープ内で組み込み変数にアクセスできなくなります。
この場合、誤って「list」という名前の変数を作成した可能性があります。組み込みのリスト関数の代わりに、「リスト」クラスのインスタンスを参照します。クラスとして、「list」インスタンスは呼び出すことができず、「TypeError」が発生します。
このシャドウイングは、次の例のように微妙に発生する可能性があります。
example = list('abc') # Create a list from the string 'abc' list = list('xyz') # Reassign 'list' to a new list instance example = list('def') # Error: 'list' is now an instance, not callable
このようなことを回避するにはエラーが発生した場合は、名前空間の衝突の可能性を認識し、変数に一意の名前を使用することが重要です。さらに、名前シャドウイング検出を提供する IDE を使用すると、潜在的な競合を早期に特定するのに役立ちます。
以上が「example = list(...)」が「TypeError: 'list' object is not callable」をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。