Jeg har en ugyldig Syntax Error i Python

Som med andre programmeringsspråk, har Python sin egen syntaks og spesifikasjoner som programmerere må følge for å konstruere arbeidsprogrammer. Python er ofte sitert som en annen erfaring med programmering, på grunn av måten de syntaktiske konvensjoner skiller seg fra andre språk. Små syntaksfeil kan oppstå der man minst venter det. Det er viktig å forstå de unike konvensjonene av Python for å finne og unngå syntaksfeil.

Innrykk og kode blokker

I motsetning til C, Java og PHP, ikke Python ikke betegne en blokk med kode ved å kapsle den i et sett av klammeparentes ( "{}"). Python bruker innrykk tomrom i stedet. Når du skriver funksjoner, klasser, sløyfer eller betingelser, vil du rykke hver inkludert blokk med kode, vanligvis med et tabulatortegn. Python vil lese disse innrykk for å finne ut hvor kodeblokker begynner og slutter.

Loops og betingelser

Python loops og forgrening "hvis" uttalelser som bruker conditionals, sammenligninger som returnerer "true" eller "false" uttalelser, er strukturert annerledes enn i andre programmeringsspråk. Den betingede uttalelse i en Python sløyfe ikke forekommer i parentes som i C-stil programmeringsspråk. Loops også ende med et kolon ( ":"). Følgende eksempel illustrerer forskjellen:

C:

while (i> x)
{}

Python:

mens i> x:

Lukke Parenteser og braketter

Ofte kan Python funksjoner ta andre funksjoner som argumenter eller lage lister over lister. I begge tilfeller et stort problem stammer fra det faktum at hekkende fungerer som funksjonsargumenter, eller lage lister over lister, skaper en situasjon hvor du må holde styr på mange åpne og lukke parentes og braketter. Det er vanlig i slike situasjoner å gå glipp av en avsluttende parentes. I dette tilfellet vil bli vist en syntaksfeil hvis ikke alle braketter eller parentes er lukket.

Python versjon

Gjennom hele eksistensen av Python, har programmet gått gjennom et par forskjellige versjoner. I løpet av disse endringene har funksjonaliteten til kjernen språk blitt endret på subtile måter. Et eksempel er overgangen fra 2.x versjonen til versjon 3.0, som inkluderer en endring i "print" statement. I 2.x, er "print" et enkelt uttrykk, som variable oppdrag. I 3.0 er "Skriv ut" en funksjon som krever parenteser og argumenter som alle andre funksjon. Bruke "print" -funksjonen feil vil resultere i en syntaksfeil.