INHOUDSOPGAWE[Versteek][Wys]
Hierdie lesing gaan belangrik wees as jy met groot programme te doen het.
Jy sal leer om die foute te hanteer deur uitsonderingsblokke en die gebruik van opmerkings in Python.
Uitsonderings
Ons gaan leer hoe om foute in Python-programme te hanteer. Kom ons begin deur 'n klein program te skryf om die gebruiker se ouderdom van die terminale af te kry.
age = int(input('Age'))
print(age)
Kom ons bestuur dit.
Kyk nou na die uitgangkode van hierdie program. Uittreekode 0 beteken dat ons program suksesvol beëindig is en daar was geen foute nie. Maar wat as ons hierdie program nog een keer laat loop en in plaas daarvan om 'n numeriese waarde in te voer, voer ons 'n string in?
Ons kry 'n waardefout met sy boodskap "invalid literal for int() with base 10" Basies wat hierdie boodskap vir ons sê, is dat hierdie string "qwe" nie 'n geldige huisnommer bevat wat na 'n heelgetal omgeskakel kan word nie. Kyk nou na die uitgangkode van hierdie program. Uitgangskode 1 beteken dat ons uitgangkode neergestort het, so 0 beteken altyd sukses en alles behalwe 0 beteken ongeluk. In programmering verwys ons na hierdie soort fout as 'n uitsondering.
As 'n goeie luislangprogrammeerder, moet jy hierdie situasie verwag. Jy wil nie toelaat dat jou hele program ineenstort net omdat die gebruiker 'n ongeldige waarde ingevoer het nie. So in plaas daarvan om die program te laat crash, moet jy die situasie hanteer en 'n behoorlike foutboodskap druk. Dit is wat ek jou in hierdie lesing gaan wys.
In Python het ons 'n konstruk genoem try except
gebruik om foutsituasies te hanteer.
try:
age = int(input('Age'))
print(age)
Hierdie twee reëls kode is deel van ons try:
blok. Ons sal byvoeg except
blok daarna met die tipe fout wat ons verwag.
except ValueError:
print('Invalid Value')
Dit sal nou die string "Ongeldige waarde" terugstuur in die geval van 'n waardefout.
Kom ons kyk na 'n ander soort fout deur die vorige program te verander.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ValueError:
print('Invalid Value')
Nou, as ons hierdie program hardloop en '0' in ouderdom invoer, 'n numeriese waarde. Tegnies behoort ons dus geen uitsonderings te kry nie.
Kom ons bestuur dit.
Kyk. Ons program het neergestort en ons het 'n "Zero Division Error" gedoen, want ons kan nie 'n getal deur 0 deel nie. Kyk weereens na die uitgangkode. Ons kon nie hierdie soort fout of hierdie soort uitsondering met hierdie behalwe-blok opvang nie.
Hierdie behalwe blok vang slegs uitsonderings van tipe waarde fout op en ons sal 'n nuwe behalwe blok nodig hê om Zero Division Error te hanteer. Kom ons verander die program dienooreenkomstig.
try:
age = int(input('Age'))
income = 20000
risk = income / age
print(age)
except ZeroDivisionError:
print('Age cannot be 0')
except ValueError:
print('Invalid Value')
Die probleem is opgelos!
- Sintaksfout
- Tikfout
- Naamfout
- Indeksfout
- Waardeerfout
- Nulverdelingsfout
- Kenmerkfout
- Looptydfout
- Sleutelfout
- Geheue fout
- Assertionerror
- Inspringerror
- Eoferror
- drywende wysfout
- Oorblomror
- Logiese fout
- Sisteemfout
- Notimplementederror
- Fout
- Ioerror
- Verwysingsfout
- Unicode-fout
- Rekenfout
- Unikodedekodeerfout
- Unicodeencodeerfout
- Unicode-vertaalfout
- Runtime Foute
As 'n programmeerder moet jy bewus wees van al die uitsonderings in jou program en jy moet dit dienooreenkomstig hanteer.
Kommentaar
Nou gaan ons praat oor opmerkings in python. Ons gebruik opmerkings om notas of opmerkings by ons programme te voeg om leesbaarheid te verbeter en 'n boodskap oor te dra aan iemand wat ons kode lees.
Opmerkings kan in die program geskryf word deur die #-teken te gebruik. Alles wat jy na die # skryf, sal deur die Python-samesteller geïgnoreer word en sal nie uitgevoer word nie. U kan opmerkings op individuele reëls sowel as na 'n reël kode byvoeg.
Met hierdie opmerkings kan ons iets oor ons kode verduidelik, ons kan dit as herinnerings gebruik om dinge reg te maak of dinge op te ruim, of ons kan dit gebruik om dinge te kommunikeer met ander ontwikkelaars wat ons kode lees of om te verduidelik hoekom ons hierdie kode in geskryf het 'n sekere manier. Dit is goeie gebruiksgevalle vir die gebruik van opmerkings. ons kan ook kommentaar oor verskeie reëls hê. Elke reël moet met 'n nuwe #-teken begin. Een ding wat u nou moet vermy wanneer u opmerkings gebruik, is om te verduidelik wat die kode doen.
Hier is 'n voorbeeld van 'n slegte opmerking:
Dit is 'n slegte opmerking, want dit vertel my die ooglopende. Dit sê vir my dat die volgende reël “Son sak in die Weste” gaan druk. Nou die probleem met hierdie opmerking is dat behalwe dat dit verbose en herhalend is as jy hierheen kom en Wes na Oos verander, raak hierdie opmerking verouderd. Dus, elke keer as ons ons kode opdateer, sal ons moet terugkom en die ooreenstemmende opmerking wysig.
Kortom, gebruik jou opmerkings om te antwoord hoe en hoekom is in plaas van wat is.
Hier is 'n voorbeeld van 'n goeie opmerking:
In die eerste opmerking herinner ek myself daaraan dat ek hierdie inkomstewaarde moet opdateer voordat die program gefinaliseer word en die tweede waarde vertel ander ontwikkelaars wat my kode lees dat alle foute nie in hierdie program hanteer word nie.
Ten slotte, jy moet oortollige opmerkings vermy en jou opmerkings moet 'n mate van waarde tot jou kode toevoeg.
Afsluit!
Uitsonderings en opmerkings is twee aspekte van programmering wat dikwels oor die hoof gesien word en die betekenis daarvan word gewoonlik onderskat.
Om jou program te crash is amper so erg soos om nie kommentaar te lewer op jou kode waar nodig nie. Die volgende lesing sal fokus op Klasse en Konstrukteurs.
Lewer Kommentaar