Pagkat-on sa Python Control Flow ug Loops sa Pagsulat ug Pag-tune sa Shell Scripts - Bahin 2


Sa miaging artikulo niining serye sa Python gipaambit namo ang usa ka mubo nga pasiuna sa Python, ang command-line shell niini, ug ang IDLE. Gipakita usab namo kung giunsa paghimo ang mga kalkulasyon sa aritmetika, kung giunsa pagtipig ang mga kantidad sa mga variable, ug kung giunsa ang pag-print balik sa mga kantidad sa screen. Sa katapusan, gipasabut namo ang mga konsepto sa mga pamaagi ug mga kabtangan sa konteksto sa Object Oriented Programming pinaagi sa usa ka praktikal nga panig-ingnan.

Niini nga giya atong hisgutan ang kontrol nga dagan (sa pagpili sa lain-laing mga kurso sa aksyon depende sa impormasyon nga gisulod sa usa ka user, ang resulta sa usa ka kalkulasyon, o ang kasamtangan nga bili sa usa ka variable) ug mga loops (aron automate ang balik-balik nga mga buluhaton) ug dayon i-apply kung unsa ang atong nakakat-on na sa pagsulat sa usa ka yano nga script sa shell nga magpakita sa tipo sa operating system, hostname, pagpagawas sa kernel, bersyon, ug ngalan sa hardware sa makina.

Kini nga pananglitan, bisan kung sukaranan, makatabang kanato sa pag-ilustrar kung giunsa naton magamit ang mga kapabilidad sa Python OOP sa pagsulat sa mga script sa kabhang nga labi ka dali kaysa sa paggamit sa regular nga mga himan sa bash.

Sa laing pagkasulti, gusto namong mobiya

# uname -snrvm

sa

o

Nindot tan-awon, dili ba? Atong ilukot ang atong mga bukton ug himoon kini.

Kontrola ang dagan sa Python

Sama sa among giingon sa sayo pa, ang kontrol nga dagan nagtugot kanamo sa pagpili sa lainlaing mga sangputanan depende sa gihatag nga kondisyon. Ang labing yano nga pagpatuman niini sa Python usa ka if/else clause.

Ang sukaranan nga syntax mao ang:

if condition:
    # action 1
else:
    # action 2

  1. Sa dihang ang kondisyon mag-evaluate sa tinuod, ang code block sa ubos ipatuman (girepresentar sa # action 1. Kung dili, ang code ubos sa else ipadagan.
  2. Ang usa ka kondisyon mahimong bisan unsang pahayag nga mahimong magtimbang-timbang sa tinuod o dili tinuod. Pananglitan:

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

  1. Sa unang pananglitan atong gikomparar ang duha ka bili aron matino kon ang usa mas dako kay sa lain.
  2. Sa ikaduha nga pananglitan among gikomparar ang firstName (usa ka variable) aron mahibal-an kung, sa karon nga punto sa pagpatuman, ang kantidad niini parehas sa \Gabriel
  3. Ang kondisyon ug ang lain nga pahayag kinahanglang sundan ug colon (:)
  4. Ang indentasyon importante sa Python. Ang mga linya nga adunay parehas nga indentasyon giisip nga naa sa parehas nga bloke sa code.

Palihug timan-i nga ang if/else nga pahayag usa lamang sa daghang mga tool sa pagkontrol sa dagan nga magamit sa Python. Gisusi namo kini dinhi tungod kay gamiton namo kini sa among script sa ulahi. Mahibal-an nimo ang dugang bahin sa nahabilin nga mga himan sa opisyal nga mga dokumento.

Mga loop sa Python

Sa yanong pagkasulti, ang loop usa ka han-ay sa mga instruksyon o mga pahayag nga gipatuman sa han-ay basta ang usa ka kondisyon tinuod, o kausa matag butang sa usa ka listahan.

Ang pinakasimple nga loop sa Python girepresentahan sa for loop nga nagbalikbalik sa mga butang sa usa ka gihatag nga listahan o string nga nagsugod sa unang butang ug natapos sa kataposan.

Panguna nga syntax:

for x in example:
	# do this

Dinhi ang pananglitan mahimong usa ka lista o usa ka hilo. Kung ang nahauna, ang variable nga ginganlag x nagrepresentar sa matag aytem sa lista; kung ang ulahi, ang x nagrepresentar sa matag karakter sa hilo:

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

Ang output sa mga pananglitan sa ibabaw gipakita sa mosunod nga hulagway:

Mga Module sa Python

Alang sa klaro nga mga hinungdan, kinahanglan adunay usa ka paagi aron makatipig usa ka han-ay sa mga panudlo sa Python ug mga pahayag sa usa ka file nga mahimo’g ma-invoke kung gikinahanglan.

Mao gyud kana kung unsa ang module. Ilabi na, ang os module naghatag ug interface sa nagpahiping operating system ug nagtugot kanamo sa paghimo sa daghang mga operasyon nga sagad namon buhaton sa usa ka command-line prompt.

Ingon niana, gilakip niini ang daghang mga pamaagi ug mga kabtangan nga matawag ingon nga among gipasabut sa miaging artikulo. Bisan pa, kinahanglan namon nga i-import (o ilakip) kini sa among palibot gamit ang import nga keyword:

>>> import os

Atong i-print ang kasamtangan nga direktoryo sa pagtrabaho:

>>> os.getcwd()

Ato nang ibutang ang tanan niini (uban sa mga konsepto nga gihisgutan sa miaging artikulo) aron isulat ang gusto nga script.