⊗pyPmExcFu 82 of 129 menu

Funksie met Uitsondering in Python

Uitsonderings is baie gerieflik om te gooi, deur dit in funksies met behulp van voorwaardes te skryf.

Kom ons maak 'n funksie get_sum, wat die som van die elemente van 'n lys sal teruggee, slegs as die lengte van die lys kleiner as of gelyk aan 3 is. Andersins, laat ons eie uitsondering ToBigLength gegooi word:

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

Laat ons nou 'n lys aan die funksie get_sum oordra en die resultaat in die konsole druk:

lst = [1, 2, 3, 4] print(get_sum(lst)) # sal 6 druk

In funksies kan jy ook die onderskepping van verskeie tipes uitsonderings spesifiseer. Kom ons skep nog 'n uitsonderingsklas ToSmallLength:

class ToSmallLength(Exception): pass

Laat ons nou in die funksie 'n voorwaarde skryf: as die lengte van die lys gelyk is aan nul, moet ToSmallLength gegooi word. As geen uitsondering onderskep word nie, moet die som van alle elemente in die lys teruggegee word:

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

Vir gerief kan jy die lys wat aan die funksie se parameter oorgedra word, die funksie self, en die aanroep daarvan, in 'n try-blok plaas. En die onderskepping van ons twee uitsonderings kan in except-blokke geplaas word:

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

Skep 'n funksie wat 'n getal as parameter sal aanvaar. Skryf daarin voorwaardes: as die getal negatief is of gelyk is aan nul, moet ooreenstemmende uitsonderings gegooi word. Andersins moet die getal met 3 vermenigvuldig word.

Toets die werking van jou geskepte funksie met behulp van die try-except-konstruksie. Onderskep ook jou uitsonderings.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp