Maison >développement back-end >Tutoriel Python >Pourquoi une SyntaxError sur une ligne affecte-t-elle parfois la suivante ?
SyntaxError : syntaxe invalide persistante jusqu'à la ligne suivante
L'erreur "SyntaxError : syntaxe invalide" peut persister jusqu'à la ligne suivante même lorsque le problème La ligne apparaît semble syntaxiquement correcte. Ce comportement se produit en raison de parents déséquilibrés sur la ligne précédente.
Exemple de code avec l'erreur
Considérez l'extrait de code suivant :
fi2=0.460*scipy.sqrt(1-(Tr-0.566)**2/(0.434**2)+0.494 guess = Pmin+(Pmax-Pmin)*((1-w**2)*fi1+(w**2)*fi2)
Bien que la deuxième ligne semble syntaxiquement correcte, une erreur se produit dans cette ligne car les parenthèses de la première ligne ne sont pas équilibré :
Identifier les problèmes
Pour identifier le problème, comptez le nombre de parenthèses ouvrantes et fermantes pour chacun line :
# Tanda kurung buka: 1 2 3 # v v v fi2=0.460*scipy.sqrt(1-(Tr-0.566)**2/(0.434**2)+0.494 # ^ ^ # Tanda kurung tutup: 1 2
Bien que cette méthode ne fournisse pas de solution générale, une compréhension manuelle du code est nécessaire pour déterminer comment les crochets doivent être modifiés.
Corrections d'erreurs dans Suivant Versions Python
Dans Python 3.9 et versions ultérieures, le nouvel analyseur PEG améliore les messages d'erreur et identifie avec précision les emplacements d'erreur dans le code source :
pax> python3 prog.py File "prog.py", line 1 xyzzy = (1 + ^ SyntaxError: '(' was never closed
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!