目次
1. Pythonis pass-lause roll
Python on tuntud kui keel, millega saab kirjutada lühikest ja hästi loetavat koodi, võrreldes paljude teiste programmeerimiskeeltega. Nende hulgas on „pass-lause“, mis mängib Pythonis üsna ainulaadset rolli. Tavaliselt peab koodis olema mõni käsk või tegevus, kuid pass-lause on erand – seda kasutatakse selleks, et selgesõnaliselt näidata „ära tee midagi“. Näiteks kui luuakse funktsioon või klass, kuid sisemist loogikat pole veel otsustatud või plaanitakse see hiljem lisada, saab kasutada pass-lause, et vältida vigu ja samal ajal kirjeldada ainult koodi skeleti. Samuti kasutatakse seda tingimuslausetes või tsüklites, et väljendada tahet „mitte midagi teha“. Seega on pass-lause väga kasulik funktsioon, mis võimaldab väljendada „ootel“ või „veel teostamata“ koodi osi. Selles artiklis selgitame üksikasjalikult pass-lause kasutusviise ja praktilisi näiteid.2. Mis on pass-lause?
Pass-lause on käsk Pythonis, mis selgesõnaliselt näitab, et „midagi ei tehta“. Pythonis peab koodistruktuuris alati olema mingi käsk, kuid mõnikord on vaja tegevust edasi lükata või ajutiselt mitte midagi teha. Sellisel juhul võimaldab pass-lause vältida vigu ja jätta tulevase tegevuse ootele.Pass-lause põhistruktuur
def my_function():
pass
Selles näites on defineeritud funktsioon my_function()
, kuid sees ei toimu midagi. Pass-lausega saab selgelt väljendada kavatsust: „see funktsioon pole veel valmis, aga ma ei taha, et see annaks vea“.Näide: klasside ja funktsioonide kohatäited
Arenduse algfaasis luuakse tihti ainult koodi põhistruktuur. Reaalne loogika lisatakse hiljem ja seetõttu kasutatakse pass-lause, et luua kõigepealt ainult raamistik.class MyClass:
pass
Selles näites pole klass MyClass
veel teostatud, kuid süntaktiliselt on kood korrektne. Pass-lause on väga mugav, et näidata, kus loogika on veel puudu, ja vältida vigu arenduse käigus.
3. Kus pass-lause kasutatakse?
Pass-lause on kasulik mitmes olukorras. Eriti järgmistes juhtudes:1. Teostamata funktsioonid ja klassid
Nagu eelpool mainitud, kasutatakse pass-lause, kui funktsiooni või klassi sisemist loogikat pole veel otsustatud. See väldib vigu enne koodi valmimist ja lihtsustab hilisemat töö jätkamist.def future_function():
pass
2. Tingimuslausete else-haru
Kui tingimuslause else-harus ei ole vaja midagi käivitada, kasutatakse pass-lause. Pythonis tekiks viga, kui if- või else-haru on tühi, seega pass-lause aitab vigu vältida.for i in range(5):
if i % 2 == 0:
print(i)
else:
pass # Paaritu arvu puhul ei tehta midagi
3. Erandikäitluses
Kui erandi tekkimisel pole vaja midagi teha, kasutatakse sageli pass-lause. See võimaldab koodi käivitamist jätkata ka siis, kui erand ilmneb.try:
risky_function()
except SomeError:
pass # Erandi tekkimisel ei tehta midagi
4. Erinevus teistest juhtlausete käskudest (continue, break)
Pass-lause tähendab „ära tee midagi“, kuid Pythonis on ka teisi juhtlauseid, millel on erinev roll. Siin selgitame erinevust pass-lause, continue-lause ja break-lause vahel.Erinevus continue-lausega
Continue-lause jätab praeguse tsükli iteratsiooni vahele ja liigub järgmise juurde. Pass-lause seevastu ei tee midagi, vaid lihtsalt jätkab jooksva ploki täitmist.for i in range(5):
if i % 2 == 0:
continue # Paarisarv jäetakse vahele
print(i) # Väljundiks ainult paaritud arvud
Erinevus break-lausega
Break-lause katkestab tsükli täielikult. See erineb nii pass-lause kui ka continue-lause käitumisest, kuna break lõpetab tsükli ja liigub järgmise koodiploki juurde.for i in range(5):
if i == 3:
break # Kui i on 3, katkestatakse tsükkel
print(i)
See erineb pass-lause käitumisest, mis ei tee midagi ja jätkab lihtsalt jooksva tsükli või tingimuslause täitmist. Igal juhulause käsul on oma eesmärk.
5. Levinud arusaamad ja vea vältimine pass-lausega
Üks levinud algajate eksiarvamus on kasutada pass-lause seal, kus seda tegelikult vaja ei ole. Pass-lause tuleks kasutada ainult siis, kui lause on süntaktiliselt vajalik, aga midagi pole vaja teha.Pass-lause vea vältimiseks
Näiteks kui if-lause sees pole tegevust määratud, tekib viga. Sellisel juhul saab pass-lause abil viga vältida.a = 10
if a < 5:
pass # Pole veel määratud, aga väldib viga
else:
print("a on vähemalt 5")
Samuti klassi või funktsiooni defineerimisel saab kasutada pass-lause, et jätta koodi selgitav märk „teostatakse hiljem“ ja samas vältida vigu.