Naučite se Python Control Flow in Loops za pisanje in uglaševanje skriptov lupine - 2. del


V prejšnjem članku te serije Python smo delili kratek uvod v Python, njegovo lupino ukazne vrstice in IDLE. Predstavili smo tudi, kako izvajati aritmetične izračune, kako shraniti vrednosti v spremenljivke in kako te vrednosti natisniti na zaslon. Na koncu smo s praktičnim primerom razložili koncepte metod in lastnosti v kontekstu objektno usmerjenega programiranja.

V tem priročniku bomo razpravljali o krmilnem toku (za izbiro različnih načinov delovanja glede na informacije, ki jih vnese uporabnik, rezultat izračuna ali trenutna vrednost spremenljivke) in zanke (za avtomatizacijo ponavljajočih se nalog) in nato uporabili tisto, kar smo so se doslej naučili pisati preprost skript lupine, ki bo prikazal vrsto operacijskega sistema, ime gostitelja, izdajo jedra, različico in ime strojne opreme stroja.

Ta primer, čeprav osnovni, nam bo pomagal ponazoriti, kako lahko izkoristimo zmožnosti Python OOP za lažje pisanje skriptov lupine kot z običajnimi bash orodji.

Z drugimi besedami, želimo iti iz

# uname -snrvm

do

ali

Izgleda lepo, kajne? Zavihajmo rokave in to uresničimo.

Nadzor pretoka v Pythonu

Kot smo že omenili, nam nadzorni tok omogoča, da izberemo različne rezultate glede na dano stanje. Njegova najpreprostejša izvedba v Pythonu je klavzula if/else.

Osnovna sintaksa je:

if condition:
    # action 1
else:
    # action 2

  1. Ko se stanje oceni na true, se izvede spodnji blok kode (predstavljen z # action 1 . V nasprotnem primeru se zažene koda pod else.
  2. Pogoj je lahko katera koli izjava, ki se lahko oceni na true ali false. Na primer:

1 < 3 # true
firstName == "Gabriel" # true for me, false for anyone not named Gabriel

  1. V prvem primeru smo primerjali dve vrednosti, da bi ugotovili, ali je ena večja od druge.
  2. V drugem primeru smo primerjali firstName (spremenljivko), da bi ugotovili, ali je na trenutni izvedbeni točki njegova vrednost enaka\"Gabriel"
  3. Pogoju in stavku else mora slediti dvopičje (:)
  4. Vdolbina je v Pythonu pomembna. Šteje se, da so vrstice z enakim zamikom v istem bloku kode.

Upoštevajte, da je izjava if/else le eno izmed mnogih orodij za nadzor pretoka, ki so na voljo v Pythonu. Tu smo ga pregledali, saj ga bomo kasneje uporabili v našem skriptu. Več o ostalih orodjih lahko izveste v uradnih dokumentih.

Zanke v Pythonu

Preprosto povedano, zanka je zaporedje navodil ali stavkov, ki se izvajajo po vrstnem redu, če je pogoj resničen, ali enkrat na element na seznamu.

Najbolj preprosto zanko v Pythonu predstavlja zanka for, ki se ponovi nad postavkami danega seznama ali niza, ki se začne s prvim in konča z zadnjim.

Osnovna sintaksa:

for x in example:
	# do this

Tu je primer lahko seznam ali niz. Če je prva, spremenljivka z imenom x predstavlja vsak element na seznamu; če slednje, x predstavlja vsak znak v nizu:

>>> rockBands = []
>>> rockBands.append("Roxette")
>>> rockBands.append("Guns N' Roses")
>>> rockBands.append("U2")
>>> for x in rockBands:
    	print(x)
or
>>> firstName = "Gabriel"
>>> for x in firstName:
    	print(x)

Rezultat zgornjih primerov je prikazan na naslednji sliki:

Python moduli

Iz očitnih razlogov mora obstajati način za shranjevanje zaporedja navodil in stavkov Pythona v datoteko, ki jo je mogoče priklicati, ko je potrebna.

Prav to je modul. Zlasti os modul ponuja vmesnik za osnovni operacijski sistem in nam omogoča izvajanje številnih operacij, ki jih običajno izvajamo v pozivu ukazne vrstice.

Kot tak vključuje več metod in lastnosti, ki jih lahko imenujemo, kot smo pojasnili v prejšnjem članku. Vendar ga moramo v naše okolje uvoziti (ali vključiti) s pomočjo ključne besede import:

>>> import os

Natisnimo trenutni delovni imenik:

>>> os.getcwd()

Zdaj vse to združimo (skupaj s koncepti, obravnavanimi v prejšnjem članku), da napišemo želeni scenarij.