Rezolvat: keyerror%3A %27acc%27

În lumea programării computerelor, întâlnirea erorilor este un fenomen comun. Luați, de exemplu, KeyError: „acc” in Piton. Această eroare apare adesea atunci când o cheie specifică pe care încercăm să o accesăm dintr-un dicționar nu există. Din fericire, Python oferă o soluție elocventă pentru a gestiona astfel de probleme și pentru a preveni blocarea codului. Aceasta include aplicarea procedurilor de gestionare a excepțiilor, utilizarea funcției get() sau verificarea cheilor înainte de a le accesa. Cu abordarea corectă, această eroare poate fi gestionată cu pricepere.

Înțelegerea KeyError

KeyError în Python este un tip de excepție care apare atunci când încercați să accesați un dicționar cu o cheie care nu există. Este întotdeauna o practică bună de codare și, conform documentației oficiale Python, să verificați dacă o cheie este prezentă înainte de a încerca să accesați valoarea acesteia.

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

În codul de mai sus, „d” nu există în dicționarul dict1, deci rezultă KeyError: „d”.

Soluție la KeyError: „acc”

Soluția pentru manipulare KeyError se încadrează efectiv în modul în care abordați accesarea articolelor dintr-un dicționar. O modalitate prin care puteți evita această eroare este folosirea obține() metoda atunci când faceți referire la o cheie.

Iată cum ați face asta:

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

Codul returnează Nimic, deoarece „d” nu este în dicționar. Folosind obține() metoda, putem oferi și o valoare implicită care este returnată atunci când cheia nu există.

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

Manipularea excepție este o altă tehnică de a gestiona KeyError. Acest lucru se poate face cu ajutorul blocurilor try-except, așa cum se arată mai jos.

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

Acest cod nu termină întregul program și tratează excepția cu grație prin imprimarea „Cheia nu există”, ceea ce este mult mai ușor de utilizat.

Explicarea codului pas cu pas

Având în vedere complexitatea gestionării KeyErrors, este important să descompuneți codul de mai sus, bit cu bit.

În primul exemplu, definim un dicționar numit „dict1” cu perechi cheie-valoare de {'a': 1, 'b': 2, 'c': 3}. Apoi încercăm să accesăm o cheie „d” care nu există în „dict1”. Acest lucru face ca Python să ridice o KeyError cu „d” ca mesaj.

În al doilea exemplu, folosim metoda get(). Această metodă de dicționar Python preia valoarea pentru o anumită cheie. Dacă cheia nu este prezentă, în mod implicit, returnează „Niciuna”. Acest lucru împiedică Python să genereze o KeyError.

În al treilea exemplu, setăm o valoare implicită „default” pentru a primi un mesaj util în loc de „Niciunul”. Acesta este un mod mai informativ de a semnala că cheia nu a fost prezentă.

În cele din urmă, folosim un bloc try-except pentru gestionarea excepțiilor. Ne scriem codul sub „try” și definim ce trebuie făcut în cazul în care apare o „KeyError” sub „except”. Acest lucru oferă o plasă de siguranță în care codul să cadă, în loc să se rupă sau să se prăbușească.

Implementarea acestor tactici în programarea dvs. Python vă poate ajuta foarte mult să vă îmbunătățiți abilitățile de codare.

Postări asemănatoare:

Lăsați un comentariu