Maison > développement back-end > Tutoriel Python > Solution à l'erreur AttributeError(\'{0!r} l'objet n'a pas d'attribut {1!r}\'.format(type(self).__name__, k))

Solution à l'erreur AttributeError(\'{0!r} l'objet n'a pas d'attribut {1!r}\'.format(type(self).__name__, k))

王林
Libérer: 2024-02-29 18:40:20
avant
1338 Les gens l'ont consulté

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

La raison de l'erreur

Ce message d'erreur indique que dans le code python, un objet (représenté par la variable self) est utilisé, mais l'objet n'a pas d'attribut nommé k. Cela peut être dû au fait que l'objet ne définit pas cette propriété ou qu'une erreur de type dans le code fait que l'objet n'est pas du type attendu.

Comment réparer

Pour résoudre cette erreur, vous devrez peut-être effectuer une ou plusieurs des opérations suivantes :

Vérifiez votre code pour l'erreur et assurez-vous que l'objet référencé par la variable self possède une propriété nommée k.

Vérifiez votre code pour les erreurs de type et assurez-vous que l'objet référencé par la variable self est du type attendu.

Si l'attribut est manquant, vous devez définir cet attribut dans la classe

Utilisez try sauf pour obtenir cette erreur

S'il est déterminé que k est un attribut qui n'est pas défini dans la classe, veuillez confirmer si k est une faute d'orthographe.

La solution dépend du code spécifique et de la cause de l'erreur.

Exemple d'utilisation

Oui, voici un exemple simple montrant comment cette erreur peut survenir :

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

obj = MyClass()

print(obj.var2)# var2 is not defined in MyClass
Copier après la connexion

Le code ci-dessus définit une classe MyClass et y définit un attribut var1. Il crée ensuite une instance de MyClass et tente d'imprimer une propriété appelée var2. Étant donné que var2 n'est pas défini dans MyClass, l'erreur AttributeError('MyClass' object has no attribut 'var2') sera générée.

Cette erreur peut être résolue en définissant l'attribut var2 dans MyClass comme :

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

obj = MyClass()

print(obj.var2)# 20
Copier après la connexion

Vous pouvez également utiliser try except pour détecter cette erreur :

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)
Copier après la connexion

Ceci n'est qu'un exemple simple, dans le code réel, la cause de l'erreur peut être plus complexe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:lsjlt.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal