Maison > Article > développement back-end > Sept erreurs courantes parmi les débutants Python et leurs solutions
Au cours des premières semaines d'apprentissage de la programmation en langage Python, les débutants rencontreront de nombreuses erreurs de syntaxe et autres erreurs. Mais tant que vous persistez à surmonter les difficultés et que vous pratiquez la programmation sur une période de temps, ces erreurs seront considérablement réduites. Certaines erreurs courantes et leurs solutions sont répertoriées ci-dessous à titre de référence pour les débutants.
1. Erreur de syntaxe SyntaxError
(1) Les guillemets utilisés pour représenter les chaînes n'apparaissent pas par paires.
Message d'erreur :
SyntaxError : EOL lors de l'analyse de la chaîne littérale
Exemple d'erreur :
print('hello)
Solution :
Enroulez la chaîne entre guillemets doubles. Lorsqu’une chaîne contient des guillemets simples ou doubles, il est facile d’avoir des guillemets sans correspondance.
(2) Les parenthèses n'apparaissent pas par paires.
Message d'erreur :
SyntaxError : EOF inattendu lors de l'analyse
Exemple d'erreur 1 :
a= (1 + (2/3) * 4
Exemple d'erreur 2 :
print('hello'
Solution :
Faire apparaître les parenthèses par paires. Lors de l'écriture d'expressions ou d'appels complexes Cette erreur se produit souvent rencontré lors de l'utilisation de fonctions.
(3) La syntaxe de Python 2 est utilisée lors de l'appel de la fonction print()
Message d'erreur :
<.>SyntaxError : Parenthèses manquantes dans l'appel à 'print'Exemple d'erreur : print 'hello'Solution : Utilisation de Python 3 Le format de syntaxe appelle la fonction print(), c'est-à-dire print('hello'). Lorsque les débutants passent de Python 2 à Python 3, ils font souvent cette erreur (4 ) quand. en utilisant l'opérateur d'auto-opération ++ ou – etc. Message d'erreur : SyntaxError : syntaxe invalideExemple d'erreur : a = 1 a++ Solution : En langage Python, il n'y a pas d'opérateur d'auto-opération tel que ++ ou – en langage C. L'utilisation d'une fonction similaire est + =. ou -= opérateur. Par exemple, utilisez le code suivant pour incrémenter la variable a de 1. a += 1 (5) Essayez d'utiliser The égal. le signe (=) est utilisé pour déterminer si les deux opérandes sont égaux. Message d'erreur : SyntaxError : syntaxe invalideExemple d'erreur : si a = 1 : print('hello') Solution : Utilisez deux signes égaux (==) en langage Python pour déterminer si deux opérandes sont Le signe égal (=) est une affectation (6) Utilisation abusive de mots-clés du langage Python comme noms de variables : SyntaxError : impossible d'attribuer au mot-cléExemple d'erreur : Vrai = 1Solution : N'utilisez pas de mots-clés du langage Python comme nom de variable, nom de fonction ou nom de classe, etc. Dans la fenêtre Python Shell, utilisez la commande help('keywords') pour afficher la liste des mots clés du langage Python. (7) J'ai oublié d'ajouter deux points (:) à la fin de if/elif/else/while/for/def/class et d'autres déclarations. Message d'erreur : SyntaxError : syntaxe invalideExemple d'erreur 1 : a = 2if a > 🎜>print('+')
Exemple d'erreur 2 :
def sayhello()
print('hello')
Solution Méthode :
Ajoutez simplement deux points (:) à la fin de if/elif/else/while/for/def/class et d'autres instructions. Gardez les règles de grammaire à l’esprit et cela deviendra une habitude.
2. IndentationErrorMessage d'erreur :
IndentationError : le retrait ne correspond à aucun niveau d'indentation externeIndentationError : une erreur attendue indentedblock
Exemple d'erreur :
a = 2
if a > 0 :
print('+')
print (a)
else :
print('-')
Remarque : la raison de l'erreur est que l'indentation du code dans le corps de l'instruction if dans le code ci-dessus n’est pas aligné.
Solution :
Utilisez correctement l'indentation pour formater votre code. Cette erreur est plus courante lorsque le code est copié et collé ailleurs.
3. NameError
Lorsque le nom de la variable, le nom de la fonction ou le nom de la classe est écrit de manière incorrecte ou que la fonction est écrite avant d'être définie. Dans le cas de fonctions, etc., cela entraînera des erreurs de nom.
Message d'erreur : NameError : le nom 'pirnt' n'est pas défini
NameError : le nom 'sayhello' n'est pas défini
Exemple d'erreur 1 :
pirnt('hello')
Remarque : La cause de l'erreur est une faute de frappe lors de l'impression.
Exemple d'erreur 2 :
sayhello()
def sayhello() :
pass
Remarque : la raison de l'erreur est dans la fonction Appelez la fonction avant de la définir.
Solution :
Écrivez correctement les noms de variables, les noms de fonctions ou les noms de classes, attribuez des valeurs avant d'utiliser des variables, placez les définitions de fonctions avant les appels de fonction, etc. Il s’agit de garantir qu’un certain nom (identifiant) existe avant de pouvoir être utilisé.
4. Erreur de type TypeError(1) Les entiers et les chaînes ne peuvent pas être connectés.
Message d'erreur : TypeError : Impossible de convertir implicitement l'objet 'int' en tostr
TypeError : type(s) d'opérande non pris en charge pour + : 'float' et 'str'
Exemple d'erreur 1 :
print('score:'+ 100)
Exemple d'erreur 2 :
print(9,8+ 'seconds')
Solution :
Utilisez la fonction str() pour convertir un entier, un nombre à virgule flottante ou une valeur booléenne en un type chaîne avant de le concaténer avec une chaîne.
(2) Le nombre de paramètres lors de l'appel de la fonction est incorrect, ou les paramètres ne sont pas transmis.
Message d'erreur :
TypeError : entrée attendue avec au plus 1arguments, obtenu 2
TypeError : say() manquant 1 argument de position requis : 'mots'
Exemple d'erreur 1 :
input('Enter name', 'Age')
Remarque : la cause de l'erreur est de tenter de fournir un deuxième paramètre à la fonction input().
Exemple d'erreur 2 :
def say(words):
print(words)
say()
Remarque : Erreur La raison est qu'aucun paramètre n'est transmis lors de l'appel de la fonction.
Solution :
N'oubliez pas l'utilisation de la fonction, comprenez la définition des paramètres de la fonction et utilisez la méthode correcte pour appeler la fonction.
5. Erreur de clé KeyError
Cette erreur se produit lorsque vous utilisez un nom de clé inexistant pour accéder à un élément du dictionnaire.
Message d'erreur :
KeyError : 'c'
Exemple d'erreur :
d= {'a':1, 'b':2}
print(d['c'])
Solution :
Lors de l'accès aux éléments du dictionnaire, utilisez d'abord le mot-clé in pour vérifier si le nom de la clé à accéder existe, ou utilisez la méthode get() du dictionnaire pour accéder en toute sécurité aux éléments du dictionnaire.
6. IndexError Erreur d'index
Lorsque l'index de la liste d'accès dépasse la plage de la liste, une erreur d'index se produit.
Message d'erreur :
IndexError : index de la liste hors plage
Exemple d'erreur :
a = [1, 2, 3]
print(a[3])
Remarque : La raison de l'erreur est que le 4ème index n'existe pas dans la liste a. Rappelons que les index des listes sont numérotés à partir de 0.
Solution :
Obtenez la longueur de la liste via la fonction len(), puis déterminez si l'index auquel accéder dépasse la plage de la liste.
7. UnboundLocalError Erreur de variable locale non initialisée
Dans une fonction, si vous modifiez une variable globale non déclarée, vous rencontrerez cette erreur.
Message d'erreur :
UnboundLocalError : variable locale 's'référencée avant l'affectation
Exemple d'erreur :
s = 1
def test():
s += 1
print(s)
test()
Remarque : la raison de l'erreur est que la paire n'est pas déclarée dans la fonction. La variable globale s a été incrémentée. Python traite la variable s comme une variable locale, mais la variable n'est pas initialisée.
Solution :
Lorsque vous utilisez des variables globales dans une fonction, déclarez-les simplement à l'aide du mot-clé global.
Résumé
En bref, il est inévitable de rencontrer des erreurs dans la programmation réelle. Mais ne vous inquiétez pas, ce ne sont que des tigres de papier. Les débutants doivent savoir utiliser les moteurs de recherche pour trouver et résoudre les problèmes, et vérifier les erreurs qu’ils rencontrent. Tant que vous saisissez le contenu du message d'erreur dans le champ de recherche d'un moteur de recherche, vous pouvez trouver de nombreuses informations sur la façon de résoudre l'erreur.
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!