⊗pyPmExcFu 82 of 129 menu

Funksjon med unntak i Python

Unntak er veldig praktiske å kaste, ved å definere dem i funksjoner ved hjelp av betingelser.

La oss lage en funksjon get_sum, som skal returnere summen av elementene i en liste bare hvis lengden på listen er mindre enn eller lik 3. Ellers, la vårt eget unntak ToBigLength kastes:

def get_sum(lst): if len(lst) <= 3: return sum(lst) else: raise ToBigLength

La oss nå sende en liste til funksjonen get_sum og skrive ut resultatet til konsollen:

lst = [1, 2, 3, 4] print(get_sum(lst)) # vil skrive ut 6

Man kan også håndtere flere typer unntak i funksjoner. La oss opprette en unntaksklasse til ToSmallLength:

class ToSmallLength(Exception): pass

La oss nå definere en betingelse i funksjonen: hvis lengden på listen er null, skal ToSmallLength kastes. Hvis ingen unntak blir kastet, skal summen av alle elementene i listen returneres:

def get_sum(lst): if len(lst) > 3: raise ToBigLength if len(lst) == 0: raise ToSmallLength else: return sum(lst)

For enkelhets skyld kan vi sette inn listen som skal sendes til funksjonens parameter, selve funksjonskallet og utskriften i en try-blokk. Og håndteringen av våre to unntak plasserer vi i except-blokkene:

try: lst = [1, 2, 3] res = get_sum(lst) print(res) except ToBigLength: print('error 1') except ToSmallLength: print('error 2')

Opprett en funksjon som tar imot et tall som parameter. I den, definer betingelser: hvis tallet er negativt eller lik null, så la de tilsvarende unntakene kastes. Ellers, la tallet bli multiplisert med 3.

Test funksjonen du har opprettet ved hjelp av try-except-konstruksjonen. Håndter også unntakene dine i denne konstruksjonen.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis