Lærðu Python Control Flow og lykkjur til að skrifa og stilla skeljaforskriftir - Part 2


Í fyrri grein þessarar Python röð deildum við stuttri kynningu á Python, skipanalínuskel þess og IDLE. Við sýndum einnig hvernig á að framkvæma reiknireikninga, hvernig á að geyma gildi í breytum og hvernig á að prenta þau gildi aftur á skjáinn. Að lokum útskýrðum við hugtökin um aðferðir og eiginleika í samhengi hlutbundinnar forritunar með hagnýtu dæmi.

Í þessari handbók munum við fjalla um stýriflæði (til að velja mismunandi aðgerðir eftir upplýsingum sem notandi hefur slegið inn, niðurstöðu útreiknings eða núverandi gildi breytu) og lykkjur (til að gera endurtekin verkefni sjálfvirk) og síðan beita því sem við hefur hingað til lært að skrifa einfalt skeljaforskrift sem sýnir stýrikerfisgerðina, hýsilheitið, kjarnaútgáfuna, útgáfuna og heiti vélbúnaðar vélarinnar.

Þetta dæmi, þó að það sé einfalt, mun hjálpa okkur að sýna hvernig við getum nýtt okkur getu Python OOP til að skrifa skeljaforskriftir auðveldara en að nota venjuleg bash verkfæri.

Með öðrum orðum, við viljum fara frá

# uname -snrvm

til

eða

Lítur fallega út, er það ekki? Brettum upp ermarnar og gerum það að veruleika.

Stjórna flæði í Python

Eins og við sögðum áðan gerir stjórnflæði okkur kleift að velja mismunandi niðurstöður eftir tilteknu ástandi. Einfaldasta útfærslan í Python er ef/annað ákvæði.

Grunnsetningafræðin er:

if condition:
    # action 1
else:
    # action 2

  1. Þegar ástandið er satt, verður kóðablokkinn hér að neðan keyrður (táknuð með # aðgerð 1. Annars verður kóðinn undir else keyrður.
  2. Skilyrði getur verið hvaða staðhæfing sem er sem getur verið annað hvort sönn eða ósönn. Til dæmis:

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

  1. Í fyrra dæminu bárum við saman tvö gildi til að ákvarða hvort annað sé stærra en hitt.
  2. Í öðru dæminu bárum við saman firstName (breytu) til að ákvarða hvort gildi þess sé eins og \Gabriel
  3. á núverandi framkvæmdarstað.
  4. Á eftir skilyrðinu og else staðhæfingunni verður að fylgja tvípunktur (:)
  5. Inndráttur er mikilvægur í Python. Línur með sömu inndrátt teljast vera í sama kóðablokk.

Vinsamlegast athugaðu að if/else setningin er aðeins eitt af mörgum stjórnflæðisverkfærum sem til eru í Python. Við skoðuðum það hér þar sem við munum nota það í handritinu okkar síðar. Þú getur lært meira um restina af verkfærunum í opinberu skjölunum.

Lykkjur í Python

Einfaldlega sagt, lykkja er röð leiðbeininga eða staðhæfinga sem eru framkvæmdar í röð svo lengi sem skilyrði er satt, eða einu sinni í hvert atriði á lista.

Einfaldasta lykkjan í Python er táknuð með for lykkju endurtekningum yfir atriði ákveðins lista eða strengs sem byrjar á fyrsta atriðinu og endar á því síðasta.

Grunnsetningafræði:

for x in example:
	# do this

Hér getur dæmi verið annað hvort listi eða strengur. Ef það fyrra, þá táknar breytan sem heitir x hvert atriði á listanum; ef hið síðarnefnda táknar x hvern staf í strengnum:

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

Úttak ofangreindra dæma er sýnt á eftirfarandi mynd:

Python einingar

Af augljósum ástæðum verður að vera leið til að vista röð af Python leiðbeiningum og setningum í skrá sem hægt er að kalla fram þegar þess er þörf.

Það er einmitt það sem mát er. Sérstaklega veitir stýrikerfiseiningin viðmót við undirliggjandi stýrikerfi og gerir okkur kleift að framkvæma margar af þeim aðgerðum sem við gerum venjulega í skipanalínu.

Sem slíkur inniheldur það nokkrar aðferðir og eiginleika sem hægt er að kalla eins og við útskýrðum í fyrri grein. Hins vegar þurfum við að flytja inn (eða hafa) það í umhverfi okkar með því að nota innflutningslykilorðið:

>>> import os

Við skulum prenta núverandi vinnuskrá:

>>> os.getcwd()

Við skulum nú setja allt þetta saman (ásamt hugtökum sem fjallað var um í fyrri grein) til að skrifa handritið sem óskað er eftir.