Python unindent ne correspond pas

L’indentation de votre code peut être une t√¢che compliquée si vous essayez d’utiliser à la fois des espaces et des tabulations. En Python, l’utilisation des deux méthodes d’indentation entraaîne une erreur. Cette erreur est "erreur d’indentation : unindent ne correspond à aucun niveau d’indentation externe".

Dans ce guide, nous expliquons ce que signifie cette erreur et quand elle est déclenchée. Nous passons en revue un exemple de cette erreur en action pour vous aider à apprendre comment la corriger.

erreur d’indentation : unindent ne correspond à aucun niveau d’indentation externe

Le code Python peut être indenté avec des tabulations ou des espaces. C’est à vous de décider.

Python n’a d’objection que lorsque vous utilisez à la fois des espaces et des tabulations pour indenter votre code. Python nécessite que vous utilisiez une seule méthode d’indentation. C’est parce que le langage est typé statiquement. Les langages de programmation à typage statique sont difficiles en matière de syntaxe.

Les erreurs d’indentation sont difficiles à comprendre car elles impliquent l’invisible : mélanger les espaces et les tabulations. Selon l’éditeur de code que vous utilisez, vous ne pourrez peut-être même pas voir si des espaces ou des tabulations ont été utilisés jusqu’à ce que vous supprimiez vos retraits de votre code.

Les erreurs d’indentation sont courantes lorsque vous copiez du code extraits d’Internet. Chaque développeur a ses propres préférences en matière d’indentation et vous constaterez souvent que les extraits de code ne correspondent pas à vos propres préférences. Certains extraits seront mis en retrait avec des espaces.

Si un extrait de code que vous copiez dans votre programme utilise un type d’indentation différent, vous pouvez voir une IndentationError dans votre code. C’est parce que vous mélangez des tabulations et des espaces.

Un exemple de scénario

√âcrivez un programme qui trouve les facteurs d’un nombre.

81 % des participants ont déclaré ils se sentaient plus confiants quant à leurs perspectives d’emploi dans la technologie après avoir participé à 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 .

Commencez par définir une fonction pour calculer les facteurs d’un nombre :

Cette fonction utilise une boucle for pour parcourir chaque nombre dans la plage de 1 et le nombre que nous avons spécifié plus 1.

√Ä chaque itération, notre programme vérifie s’il y a un reste après avoir divisé "nombre‚" par "i". Pour ce faire, nous utilisons l’opérateur modulo. S’il n’y a pas de reste, "i" est un facteur de "nombre‚".

Si un nombre est un facteur de "nombre", un message est imprimé sur la console.

Nous pour appeler notre fonction :

Ce code calcule tous les facteurs de 32. Exécutez notre code et voyez ce qui se passe :

Notre code renvoie une IndentationError .

Nous avons fait une erreur avec le style de notre code. Nous le savons, car les erreurs d’indentation sont générées lorsqu’il y a un problème avec la façon dont votre code est indenté.

Regardez comment notre code est stylisé. Dans Sublime Text, nous pouvons voir les styles de notre code en survolant chaque ligne :

ZkT2zfCE1h22 Ldf RwNqSrZL9fUBLG VdcBcqh559l QY6dDanxnhIiihRf52m10qUKnPgFyT2uG6YxVF5MoRzAVitrOwbnF 04EUYhdD3dMZZXkO3aOERWcZYtYsJpOFu1rqun

Chaque ligne représente un onglet. Chaque point représente un espace. Vous pouvez voir que nous avons mélangé des espaces et des tabulations dans notre extrait de code. Python aime la cohérence dans les retraits et donc l’interpréteur renvoie une erreur lorsque nous exécutons notre code.

Si vous utilisez un éditeur de texte qui ne prend pas en charge ce comportement, vérifiez si votre code utilise des espaces ou des tabulations en en reculant votre indentation. Si votre code supprime une tabulation lorsque vous appuyez sur la touche de retour arrière, cette partie de votre code utilise des tabulations.

Les espaces sont les préférés méthode d’indentation en Python mais vous pouvez utiliser des tabulations si vous le souhaitez.

Révisons notre code :

Nous avons remplacé tous les espaces par des tabulations. Exécutez à nouveau notre programme :

Notre code renvoie avec succès une liste de tous les facteurs de 32. Cela nous montre que notre code était logiquement précis tous les al long. C’est notre indentation qui a causé le problème.

Conclusion

L’"erreur d’indentation : unindent ne correspond à aucun niveau d’indentation externe‚" une erreur est générée lorsque vous utilisez à la fois des espaces et des tabulations pour indenter votre code.

Pour résoudre cette erreur, vérifiez que tout votre code utilise des espaces ou des tabulations dans un programme. Vous êtes maintenant prêt à résoudre cette erreur Python courante comme un développeur de logiciels professionnel !