Indrykning i Python med eksempler

Det er generelt god praksis for dig at ikke blande faner og mellemrum, når du koder i Python. At gøre dette kan muligvis medføre a TabError, og dit program går ned. Vær konsekvent, når du koder - vælg enten at indrykke ved hjælp af faner eller mellemrum, og følg din valgte konvention i hele dit program.

Kodeblokke og indrykning

Et af de mest karakteristiske træk ved Python er dets anvendelse af indrykning til at markere kodeblokke. Overvej if-sætningen fra vores enkle program til kontrol af adgangskoder:

if pwd == 'apple': print('Logging on ...') else: print('Incorrect password.') print('All done!')

Linjerne udskrives ('Logger på ...') og udskrives ('Forkert adgangskode.') Er to separate kodeblokke. Disse er tilfældigvis kun en enkelt linje lange, men Python lader dig skrive kodeblokke bestående af et vilkårligt antal udsagn.

For at angive en kodeblok i Python skal du indrykke hver linje i blokken med det samme beløb. De to kodeblokke i vores eksempel if-statement er begge indrykket i fire mellemrum, hvilket er en typisk mængde indrykning for Python.

På de fleste andre programmeringssprog bruges indrykket kun til at få koden til at se smuk ud. Men i Python er det nødvendigt at angive, hvilken kodeblok en erklæring tilhører. For eksempel er den endelige udskrift ('Alt færdig!') Ikke indrykket, og det er heller ikke en del af den anden blok.

Programmører, der er fortrolige med andre sprog, børster ofte ved tanken om, at indrykning betyder noget: Mange programmører kan lide friheden til at formatere deres kode, som de vil. Imidlertid er Python-indrykningsregler ret enkle, og de fleste programmører bruger allerede indrykning for at gøre deres kode læsbar. Python tager simpelthen denne idé et skridt videre og giver indtrykket betydning.

Hvis / elif-udsagn

En if / elif-sætning er en generaliseret if-sætning med mere end en betingelse. Det bruges til at træffe komplekse beslutninger. Antag for eksempel, at et flyselskab har følgende billetpriser for "barn": Børn på 2 år eller derunder flyver gratis, børn ældre end 2, men yngre end 13 betaler en nedsat billetpris for børn, og alle 13 år eller derover betaler en almindelig voksenpris . Følgende program bestemmer, hvor meget en passager skal betale:

# airfare.py age = int(input('How old are you? ')) if age <= 2: print(' free') elif 2 < age < 13: print(' child fare) else: print('adult fare')

Efter at Python bliver gammel fra brugeren, indtaster den if / elif-erklæringen og kontrollerer hver betingelse efter hinanden i den rækkefølge, de får. Så først kontrolleres det, om alderen er mindre end 2, og i så fald indikerer det, at flyvningen er fri og hopper ud af elif-tilstanden. Hvis alder ikke er mindre end 2, kontrollerer den den næste elif-tilstand for at se, om alderen er mellem 2 og 13. Hvis ja, udskriver den den relevante meddelelse og springer ud af if / elif-sætningen. Hvis hverken if-betingelsen eller elif-betingelsen er sand, udfører den koden i den anden blok.

Betingede udtryk

Python har en mere logisk operator, som nogle programmører kan lide (og andre ikke!). Det er i det væsentlige en kort beskrivelse af if-udsagn, der kan bruges direkte i udtryk. Overvej denne kode:

food = input("What's your favorite food? ") reply = 'yuck' if food == 'lamb' else 'yum'

Udtrykket på højre side af = i anden linje kaldes et betinget udtryk, og det evalueres til enten 'yuck' eller 'yum'. Det svarer til følgende:

food = input("What's your favorite food? ") if food == 'lamb': reply = 'yuck' else: reply = 'yum'

Betingede udtryk er normalt kortere end de tilsvarende if / else-udsagn, selvom de ikke er lige så fleksible eller lette at læse. Generelt skal du bruge dem, når de gør din kode enklere.

Python-dokumentation - Indrykning