SyntaxError EOL în timpul scanării șir Literal

SyntaxError EOL în timpul scanării șir Literal?

erorile de sintaxă sunt detectate înainte ca programele să ruleze. De obicei, este doar o greșeală de tastare sau o greșeală sintactică. O astfel de eroare în Python este SyntaxError EOL în timpul scanării șir literal.

această SyntaxError apare în timp ce interpretul scanează literalele șirurilor și lovește EOL(‘sfârșitul liniei’). Dar dacă nu găsește un caracter specific înainte de EOL, eroarea este ridicată.

să o înțelegem mai bine cu ajutorul unui exemplu.

ce este „SyntaxError EOL în timp ce scanarea șir literal”?

o eroare SyntaxError EOL(End Of Line) apare atunci când interpretul Python nu găsește un anumit caracter sau un set de caractere înainte ca linia de cod să se termine. Când eroarea este ridicată, executarea codului este oprită.

  • Citate lipsă pentru închiderea șirului
  • șirul se extinde peste o linie

Citate lipsă pentru închiderea șirului:

în timp ce închidem un șir, există adesea momente în care uităm să adăugăm o virgulă inversată (simplă sau dublă). Când se întâmplă acest lucru, interpretul Python nu este capabil să găsească sfârșitul liniei în timp ce scanează șirul. Astfel apare eroarea SyntaxError EOL.

exemplu 1:

MyList = if not MyList: print("MyList is emptyelse: print("MyList is not empty")

ieșire:

File "main.py", line 3 print("MyList is empty ^SyntaxError: EOL while scanning string literal

explicație

în codul de mai sus, am inițializat o listă Mylist goală și am folosit un bloc if-else pentru a imprima dacă ‘MyList’ este gol sau nu. În interiorul blocului if, instrucțiunea de imprimare este utilizată pentru a imprima un șir. Dar șirul lipsește virgule duble inversate la sfârșit. Și din cauza virgulelor lipsă, interpretul Python nu poate găsi sfârșitul șirului.

astfel se întâlnește eroarea SyntaxError.

SyntaxError EOL în timpul scanării șir Literal

soluție

asigurați-vă că șir ar trebui să fie întotdeauna închis în ghilimele simple sau duble.

Cod corect

llist = if not llist: print("List is empty")else: print("List is not empty")

ieșire

MyList is empty

String extinde trecut o linie

în Python, nu putem extinde șir nostru, care este închis într-o virgulă inversat singur sau dublu trecut o singură linie. Dacă încercăm să facem acest lucru, va apărea eroarea „SyntaxError EOL în timpul scanării șirului literal”. Dacă dorim ca șirul nostru să se extindă în mai multe linii, atunci acestea ar trebui să fie închise în virgule triple inversate (simple sau duble).

Exemplu 2:

ttuple = ()if not ttuple: print("Tuple isempty")else: print("Tuple is not empty")

Ieșire :

 file "main.py", line 3 print("MyTuple is ^SyntaxError: EOL while scanning string literal

explicație

în codul de mai sus, am inițializat un tuplu gol ‘MyTuple’ și am folosit blocul if-else pentru a imprima dacă ‘MyTuple’ este gol sau nu. În interiorul blocului if, instrucțiunea de imprimare este utilizată pentru a imprima un șir. Dar șirul este extins în mai multe linii. Și nu este interpretat de interpretul python. Astfel, eroarea este ridicată.

soluție

încercați să păstrați întregul șir într-o singură linie.

Cod corect:

MyTuple = ()if not MyTuple: print("MyTuple is empty")else: print("MyTuple is not empty")

ieșire:

MyTuple is empty

Notă: Dacă doriți ca șirul să fie inițializat în mai multe linii. Apoi folosiți virgule triple inversate fie simple („‘ghilimele simple”‘), fie duble („””ghilimele duble””””) pentru a vă închide șirul.

exemplu:

MyTuple = ()if not MyTuple: print("""MyTuple is empty""")else: print("MyTuple is not empty")

ieșire:

MyTuple isempty

concluzie

sperăm că toate scenariile explicate mai sus vă vor ajuta să preveniți SyntaxError EOL în timp ce scanați eroarea literală String. O altă greșeală trebuie să evite este folosind citate nepotrivite. În timp ce închideți șirurile, asigurați-vă că, dacă începe cu ghilimele simple, trebuie să se încheie cu ghilimele duble.

You might also like

Lasă un răspuns

Adresa ta de email nu va fi publicată.