クラス コンストラクターの命名に関する混乱:
クラスの構築中に、新しい Python プログラマーはクラス コンストラクターの名前の間違いに関連するエラーに遭遇することがよくあります。よくある 2 つのタイプミスは、「def __init__」の代わりに「def __int__」を使用すること、または「def __init__」の代わりに「def _init_」を使用することです。
"def __int__":
クラス コンストラクターの名前は、両側に 2 つのアンダースコアを付けた「__init__」にする必要があります。 「def __int__」を使用すると、整数変換関数がクラスに割り当てられるため、引数を使用してクラスをインスタンス化しようとするとエラーが発生します。
class Example: def __int__(self, parameter): # Incorrect self.attribute = parameter
"def _init_":
「def _init_」を使用すると、予期されるコンストラクターと一致しないためエラーが発生しますname.
class Example: def _init_(self, parameter): # Incorrect self.attribute = parameter
"TypeError: Example() returns no argument":
クラスのインスタンスを作成しようとすると、エラー「TypeError: Example () は引数を取りません」というエラーが発生するのは、不正なコンストラクター名が整数変換を割り当てているためです。 function.
"AttributeError: 'Example' object has no attribute 'attribute'":
このエラーは、クラス インスタンスに予期された属性がないことを示します。この理由は、間違ったコンストラクター名によってクラス内の属性が設定されていないためです。
予防策:
これらのエラーを回避するには、クラス コンストラクターが次のように設定されていることを常に確認してください。正しくは「__init__」という名前が付けられます。このようなタイプミスを見つけるには、校正とトレーニングが不可欠です。さらに、「__init__」をクラスの最初のメソッドとして配置するという規則を設けると、エラーを防ぐことができます。
以上がPython クラス コンストラクターが「TypeError: Example() は引数を取りません」または「AttributeError」で失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。