「def __int__」または「def _init_」でクラスの初期化が失敗する理由
問題:
「def __int__」という名前のコンストラクターを使用してクラスをインスタンス化しようとした場合または「def _init_」を使用すると、「TypeError: Example() には引数がありません」または「AttributeError: 'Example' object has no attribute 'attribute'」などのエラーが発生します。
原因:
これらのエラーは、コンストラクターの名前が間違っているというタイプミスが原因で発生します。コンストラクターの正しい名前は次のとおりです。 "__init__"、両側に 2 つのアンダースコアが付いています。
例外メッセージの説明:
エラーが発生しなかった理由以前:
メソッド名 ""def __int__" および ""def _init_"" は構文的に有効であるため、構文エラー チェッカーはこのエラーを検出しません。 Python はこれらの名前に特別な意味を割り当てません。
潜在的な結果:
クラスを適切に初期化しないと、属性の欠落や実行時エラーなどの予期しない動作が発生する可能性があります。 .
問題:
以上がクラスの初期化が「__init__」ではなく「__int__」または「_init_」で失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。