Ixazululiwe: i-keyer%3A %27acc%27

Isibuyekezo sokugcina: 09/25/2023

Ezweni lokuhlela amakhompyutha, ukuhlangana namaphutha kuyinto evamile. Isibonelo, cabanga nge- KeyError: 'acc' ku -Python . Leli phutha livame ukuvela lapho ukhiye othize esizama ukuwufinyelela kusichazamazwi ungekho. Ngenhlanhla, i-Python inikeza ikhambi elicacile lokusingatha izinkinga ezinjalo nokuvimbela ikhodi yakho ukuthi ingaphazamisi. Lokhu kufaka phakathi ukusebenzisa izinqubo zokuphatha okuhlukile, ukusebenzisa umsebenzi we-get(), noma ukuhlola okhiye ngaphambi kokuwafinyelela. Ngendlela efanele, leli phutha lingaphathwa ngobuchule.

Ukuqonda i-KeyError

I-KeyError ku-Python uhlobo lokungajwayelekile oluvela uma uzama ukufinyelela isichazamazwi esinokhiye ongekho. Kuhlala kuyindlela enhle yokwenza amakhodi futhi ngokwemibhalo esemthethweni ye-Python, ukuhlola ukuthi ukhiye ukhona yini ngaphambi kokuzama ukufinyelela inani lawo.

#Random example of KeyError
dict1 = {"a":1,"b":2,"c":3}
print(dict1["d"])

Kukhodi engenhla, i-'d' ayikho kusichazamazwi i-dict1, ngakho-ke iphumela ku -KeyError: 'd'.

Isixazululo ku-KeyError: 'acc'

Isixazululo sokusingatha i-KeyError siwela kahle endleleni ofinyelela ngayo izinto kusuka kusichazamazwi. Enye indlela ongagwema ngayo leli phutha ukusebenzisa indlela ye-get() lapho ubhekisela kukhiye.

Nansi indlela ongakwenza ngayo lokho:

#prints None instead of giving KeyError
print(dict1.get("d"))

Ikhodi ibuyisa u-None, njengoba u-“d” engekho kusichazamazwi. Sisebenzisa indlela ye-get() , singaphinde sinikeze inani elizenzakalelayo elibuyiselwayo uma ukhiye ungekho.

#prints 'default' instead of None
print(dict1.get("d", 'default'))

Ukuphathwa Okungavamile kungenye indlela yokusingatha i-KeyError. Lokhu kungenziwa ngosizo lwamabhulokhi e-try-except njengoba kuboniswe ngezansi.

try:
    # code that can raise an exception
    print(dict1["d"])
except KeyError:
    # Execute this code in case of KeyError
    print('Key does not exist')

Le khodi ayilunqamuli lonke uhlelo futhi isingatha okuhlukile ngokuphrinta "Ukhiye awukho", okuyinto esebenziseka kalula kakhulu.

Ukuchaza ikhodi isinyathelo ngesinyathelo

Uma kubhekwa ubunzima bokubhekana nama-KeyErrors, kubalulekile ukwephula ikhodi engenhla, kancane kancane.

Esibonelweni sokuqala, sichaza isichazamazwi esibizwa ngokuthi 'dict1' esinamapheya enani elingukhiye elithi {'a': 1, 'b': 2, 'c': 3}. Bese sizama ukufinyelela ukhiye 'd' ongekho ku-'dict1'. Lokhu kubangela i-Python ukuthi iphakamise i-KeyError ngo-'d' njengomlayezo.

Esibonelweni sesibili, sisebenzisa i-get() indlela. Le ndlela yesichazamazwi sePython ithola inani lokhiye onikeziwe. Uma ukhiye ungekho, ngokuzenzakalelayo, ubuyisela 'Akukho'. Lokhu kuvimbela i-Python ekukhuliseni i-KeyError.

Esibonelweni sesithathu, sibeka inani elizenzakalelayo 'lokuzenzakalelayo' ukuze sithole umlayezo owusizo esikhundleni sokuthi 'Lutho'. Lena indlela efundisa kakhudlwana yokubonisa ukuthi ukhiye ubungekho.

Okokugcina, sisebenzisa i-try-ngaphandle block ukuphatha okuhlukile. Sibhala ikhodi yethu ngaphansi kokuthi 'zama' futhi sichaze ukuthi yini okufanele yenziwe uma kwenzeka okuthi 'KeyError' kwenzeka ngaphansi kokuthi 'ngaphandle'. Lokhu kunikeza inethi yokuphepha ukuze ikhodi iwele kuyo, esikhundleni sokuphuka noma ukuphahlazeka.

Ukusebenzisa lawa maqhinga ohlelweni lwakho lwePython kungasiza kakhulu ekukhuliseni amakhono akho okubhala amakhodi.

Okuthunyelwe okuhlobene: