Behúzás a Pythonban példákkal

Általában jó gyakorlat, ha nem kevered a tabulátorokat és a szóközöket, amikor kódolsz a Pythonban. Ha ezt TabErrormegteszi, az a-t okozhat , és a program összeomlik. Legyen következetes a kódolás során - válassza a behúzást a tabulátorok vagy szóközök használatával, és kövesse a választott konvenciót a program során.

Kódblokkok és behúzás

A Python egyik legjellemzőbb tulajdonsága, hogy behúzást használ a kódblokkok megjelölésére. Vegye figyelembe az egyszerű jelszó-ellenőrző program if-utasítását:

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

A nyomtatás ('Bejelentkezés ...') és a nyomtatás ('Helytelen jelszó.') Két különálló kódblokk. Ezek véletlenül csak egyetlen sor hosszúak, de a Python segítségével tetszőleges számú utasításból álló kódblokkokat írhat.

A Python kódblokkjának megjelöléséhez a blokk minden sorát azonos összeggel kell behúznia. Az if-utasítás példánkban szereplő két blokk mindkettő négy szóközt tartalmaz, ami a Python tipikus behúzási mennyisége.

A legtöbb más programozási nyelvben a behúzást csak arra használják, hogy a kód szép legyen. A Pythonban azonban meg kell adni, hogy egy utasítás melyik blokkjához tartozik. Például az utolsó nyomtatás ('Minden kész!') Nincs behúzva, és így nem része az else blokknak.

A más nyelveket ismerő programozók gyakran súrolják azt a gondolatot, hogy a behúzás számít: Sok programozónak megvan a szabadsága, hogy formázza a kódját, ahogy tetszik. A Python behúzási szabályai azonban meglehetősen egyszerűek, és a legtöbb programozó már a behúzást használja a kód olvashatóvá tételéhez. A Python egyszerűen csak egy lépéssel előzi meg ezt az ötletet, és értelmet ad a behúzásnak.

If / elif-utasítások

Az if / elif-utasítás egy általánosított if-utasítás, amely egynél több feltételt tartalmaz. Komplex döntések meghozatalára szolgál. Tegyük fel például, hogy egy légitársaság a következő „gyermek” jegyárakkal rendelkezik: A 2 éves vagy annál fiatalabb gyermekek ingyen repülnek, a 2 évnél idősebb, de a 13 évesnél fiatalabb gyermekek kedvezményes gyermekdíjat fizetnek, és bárki, aki 13 éves vagy annál idősebb, rendszeres felnőtt menetdíjat fizet. . A következő program határozza meg, hogy mennyit kell fizetnie az utasnak:

# 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')

Miután a Python életkorot kapott a felhasználótól, beírja az if / elif-utasítást, és egymás után ellenőrzi az egyes feltételeket a megadott sorrendben. Tehát először azt ellenőrzi, hogy az életkor kevesebb-e, mint 2, és ha igen, akkor azt jelzi, hogy a repülés szabad, és kiugrik az elif feltételből. Ha az életkor nem kevesebb, mint 2, akkor a következő elif-feltételt ellenőrzi, hogy az életkor 2 és 13 között van-e. Ha igen, kinyomtatja a megfelelő üzenetet, és kiugrik az if / elif-utasításból. Ha sem az if-feltétel, sem az elif-feltétel nem igaz, akkor végrehajtja a kódot az else-blokkban.

Feltételes kifejezések

A Pythonnak van még egy logikai operátora, amelyet egyes programozók kedvelnek (mások pedig nem!). Lényegében az if-utasítások rövidítése, amelyeket közvetlenül lehet használni a kifejezéseken belül. Vegye figyelembe ezt a kódot:

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

A második sorban a = jobb oldalán lévő kifejezést feltételes kifejezésnek nevezzük, és 'yuck'-nak vagy' yum'-nak értékel. Ez egyenértékű a következőkkel:

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

A feltételes kifejezések általában rövidebbek, mint a megfelelő if / else-állítások, bár nem annyira rugalmasak vagy könnyen olvashatók. Általában akkor kell használni őket, ha egyszerűbbé teszik a kódot.

Python dokumentáció - behúzás