La méthode Python append()
renvoie une valeur None. En effet, l’ajout d’un élément à une liste met à jour une liste existante. Il n’en crée pas de nouveau.
Si vous essayez d’attribuer le résultat de la méthode append() à une variable, vous rencontrez une "TypeError : ‚ÄòNoneType‚Äô l’objet n’a pas d’attribut ‚Äòappend‚Äô‚" error.
Dans ce guide, nous expliquons ce que signifie cette erreur, pourquoi elle est générée et comment vous pouvez la résoudre, en faisant référence à un exemple.
TypeError : ‚ÄòNoneType‚Äô l’objet n’a pas d’attribut ‚Äòappend‚Äô
En Python, c’est une convention que les méthodes qui modifient les séquences renvoient None. La raison en est que renvoyer une nouvelle copie de la liste serait sous-optimal du point de vue des performances lorsque la liste existante peut simplement être modifiée.
Parce que append()
ne crée pas de nouvelle liste, il est clair que la méthode va muter une liste existante. Cela vous évite d’ajouter un élément à une liste existante par accident.
Une erreur courante des codeurs est d’attribuer le résultat de la méthode append()
à un nouveau liste. Cela ne fonctionne pas car append()
modifie une liste existante. append()
ne génère pas de nouvelle liste à laquelle vous pouvez affecter une variable.
Un exemple de scénario
Ensuite, nous construisons un programme qui permet un bibliothécaire ajoute un livre à une liste de notices. Cette liste de notices contient des informations sur l’auteur d’un livre et le nombre d’exemplaires disponibles.
Commençons par définir une liste de livres :
81 % des les participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi en technologie après avoir assisté à un bootcamp. Soyez jumelé à un bootcamp aujourd’hui.
Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.
La liste des livres contient un dictionnaire . Un dictionnaire stocke des informations sur un livre spécifique. Nous ajoutons un enregistrement à cette liste de livres :
Nos "livres‚" list contient maintenant deux enregistrements. Ensuite, nous demandons à l’utilisateur des informations sur un livre qu’il souhaite ajouter à la liste :
Maintenant que nous avons ces informations, nous pouvons procéder à l’ajout d’un enregistrement à notre liste de livres. Nous pouvons le faire en utilisant la méthode append() :
Nous avons ajouté un nouveau dictionnaire aux "livres‚" liste. Nous avons converti la valeur de "disponible" à un entier dans notre dictionnaire. Nous attribuons le résultat de la méthode append()
aux "books‚" variable. Enfin, nous imprimons la nouvelle liste de livres sur la console :
Exécutons notre code et voyons ce qui se passe :
Notre code nous demande avec succès d’entrer des informations sur un livre. Lorsque notre code essaie d’ajouter le livre à notre liste de livres, une erreur est renvoyée.