SyntaxError EOL szkennelés közben String Literal

SyntaxError EOL szkennelés közben String Literal?

szintaktikai hibákat észlel a program futtatása előtt. Általában ez csak gépelési hiba vagy szintaktikai hiba. Ilyen hiba a Pythonban a SyntaxError EOL a string literal beolvasása közben.

ez a Szintaxerror akkor fordul elő, amikor az interpreter beolvassa a string literálokat, és eléri az EOL-t(‘sor vége’). De ha nem talál konkrét karaktert az EOL előtt, akkor a hiba felmerül.

értsük meg jobban egy példa segítségével.

mi az a “SyntaxError EOL string literal szkennelés közben”?

SyntaxError EOL(sor vége) hiba akkor fordul elő, ha a Python tolmács nem talál egy adott karaktert vagy karakterkészletet a kódsor vége előtt. Amikor a hiba felmerül, a kódfuttatás leáll.

  • hiányzó idézetek a karakterlánc bezárásához
  • a karakterlánc egy soron túlnyúlik

hiányzó idézetek a karakterlánc bezárásához:

a karakterlánc bezárása közben gyakran előfordul, hogy elfelejtünk egy fordított vesszőt (egy vagy kettős) hozzáadni. Amikor ez megtörténik, a Python tolmács nem tudja megtalálni a sor végét a karakterlánc beolvasása közben. Így a SyntaxError EOL hiba lép fel.

példa 1:

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

kimenet:

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

magyarázat

a fenti kódban inicializáltunk egy üres mylist listát, és egy if-else blokkot használtunk a nyomtatáshoz, ha a ‘MyList’ üres vagy sem. Az if blokk belsejében a nyomtatási utasítás egy karakterlánc nyomtatására szolgál. De a karakterláncból hiányzik a kettős fordított vessző a végén. A hiányzó vesszők miatt a Python tolmács nem találja a karakterlánc végét.

így a SyntaxError hiba lép fel.

SyntaxError EOL szkennelés közben String Literal

megoldás

győződjön meg arról, hogy a string mindig zárva belül egyetlen vagy dupla idézőjelek.

helyes kód

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

Output

MyList is empty

String kiterjeszti múlt egy sorban

a Python, nem tudjuk kiterjeszteni a húr, amely zárt egy vagy két fordított vessző már egy sorban. Ha ezt megpróbáljuk megtenni, akkor megjelenik a “SyntaxError EOL a string literal beolvasása közben” hiba. Ha azt akarjuk, hogy a karakterláncunk több sorban meghosszabbodjon, akkor azokat hármas fordított vesszőbe kell zárni (egyszeres vagy kettős).

Példa 2:

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

Kimenet :

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

magyarázat

a fenti kódban inicializáltunk egy üres tuple ‘MyTuple’-t, és az if-else blokkot használtuk a nyomtatáshoz, ha a ‘MyTuple’ üres vagy sem. Az if blokk belsejében a nyomtatási utasítás egy karakterlánc nyomtatására szolgál. De a karakterlánc több sorban bővül. A python tolmács nem értelmezi. Így felmerül a hiba.

megoldás

próbálja meg a teljes karakterláncot egyetlen sorban tartani.

helyes kód:

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

kimenet:

MyTuple is empty

Megjegyzés: Ha azt szeretné, hogy a karakterlánc több sorban inicializálódjon. Ezután használjon hármas fordított vesszőt, akár egyszeres (“‘egyetlen idézőjelek”‘), akár dupla (“””dupla idézőjelek””””) a karakterlánc csatolásához.

példa:

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

kimenet:

MyTuple isempty

következtetés

reméljük, hogy a fent ismertetett összes forgatókönyv segít megelőzni a SZINTAXERROR EOL-t a String literal hiba beolvasása közben. Egy másik hiba, amelyet el kell kerülnie, a nem megfelelő idézetek használata. A karakterláncok bezárása közben győződjön meg arról, hogy ha egyetlen idézőjelekkel kezdődik, akkor dupla idézőjelekkel kell végződnie.

You might also like

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.