ホームページ > バックエンド開発 > Python チュートリアル > エラーの解決策 AttributeError(\'{0!r} object has noattribute {1!r}\'.format(type(self).__name__, k))

エラーの解決策 AttributeError(\'{0!r} object has noattribute {1!r}\'.format(type(self).__name__, k))

王林
リリース: 2024-02-29 18:40:20
転載
1339 人が閲覧しました

报错AttributeError(\'{0!r} object has no attribute {1!r}\'.format(type(self).__name__, k))的解决

エラーの理由

このエラー メッセージは、python コードでオブジェクト (self 変数で表される) が使用されていることを示しています。ですが、オブジェクトには k という名前のプロパティがありません。これは、オブジェクトにこのプロパティが定義されていないか、コード内の型エラーによりオブジェクトが予期された型ではないことが原因である可能性があります。

解決方法

このエラーを解決するには、次の 1 つ以上を実行する必要がある場合があります。

コードにエラーがないか確認し、オブジェクトが参照されていることを確認してください。 self 変数には、k の属性である名前が付けられます。

コードに型エラーがないか確認し、self 変数によって参照されるオブジェクトが予期した型であることを確認してください。

属性が欠落している場合は、クラスでこの属性を定義する必要があります。

このエラーが発生する場合は、try else を使用してください。

k が次の属性であると判断された場合がクラスに定義されていません。k のスペルミスがないか確認してください。

解決策は、特定のコードとエラーの原因によって異なります。

使用例

はい、このエラーがどのように発生するかを示す簡単な例を次に示します:

class MyClass:
def __init__(self):
self.var1 = 10

obj = MyClass()

print(obj.var2)# var2 is not defined in MyClass
ログイン後にコピー

上記のコードはクラス MyClass を定義し、その中に var1 属性を定義します。次に、MyClass のインスタンスを作成し、var2 というプロパティを出力しようとします。 var2 は MyClass で定義されていないため、AttributeError('MyClass' object has noattribute 'var2') エラーが発生します。

このエラーは、MyClass で var2 属性を定義することで解決できます。例:

class MyClass:
def __init__(self):
self.var1 = 10
self.var2 = 20

obj = MyClass()

print(obj.var2)# 20
ログイン後にコピー

このエラーをキャッチする以外に try を使用することもできます:

class MyClass:
def __init__(self):
self.var1 = 10

obj = MyClass()
try:
print(obj.var2)# var2 is not defined in MyClass
except AttributeError as e:
print("AttributeError occured:",e)
ログイン後にコピー

これは単なる例であり、実際のコードでは、エラーの原因はさらに複雑である可能性があります。

以上がエラーの解決策 AttributeError(\'{0!r} object has noattribute {1!r}\'.format(type(self).__name__, k))の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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