ホームページ > バックエンド開発 > Python チュートリアル > Python クラス コンストラクターが「TypeError: Example() は引数を取りません」または「AttributeError」で失敗するのはなぜですか?

Python クラス コンストラクターが「TypeError: Example() は引数を取りません」または「AttributeError」で失敗するのはなぜですか?

Linda Hamilton
リリース: 2024-11-30 00:08:14
オリジナル
178 人が閲覧しました

Why Does My Python Class Constructor Fail with `TypeError: Example() takes no arguments` or `AttributeError`?

クラス コンストラクターの命名に関する混乱:

クラスの構築中に、新しい 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート