Python anahtar hatası

Var olmayan bir s√∂zlukteki bir √∂ƒüeye eri≈ümeye çalƒ±≈ütƒ±ƒüƒ±nƒ±zda bir Python KeyError ortaya 烱kƒ±yor. Var olan bir s√∂zlukten bir √∂ƒüe seçmek için programƒ±nƒ±zƒ± deƒüi≈ütirerek bu hatayƒ± duzeltebilirsiniz. Veya √∂nce bir anahtarƒ±n olup olmadƒ±ƒüƒ±nƒ± kontrol ederek bu hatayƒ± ç√∂zebilirsiniz.

Az √∂nce bir KeyError ile mi kar≈üƒ±la≈ütƒ±nƒ±z? Endi≈üelenme! Bir KeyError ortaya 烱ktƒ±ƒüƒ±nda, var olmayan bir s√∂zluk içindeki bir anahtara eri≈ümeye çalƒ±≈üƒ±yorsunuz demektir. Nasƒ±l yapƒ±lacaƒüƒ±nƒ± bildiƒüiniz zaman bu hatayƒ± vermek ve duzeltmek kolaydƒ±r.

KeyError’lar, "in‚" veya indekslemeyi kullanarak √∂nceden bir anahtarƒ± kontrol ederek.

Bu kƒ±lavuzda, Python Anahtar Hatalarƒ±nƒ±n ne olduƒüu ve neden ortaya 烱ktƒ±klarƒ± hakkƒ±nda konu≈üacaƒüƒ±z. Gelecekte KeyError’larƒ± nasƒ±l ç√∂zeceƒüinizi bilmeniz için bir hata √∂rneƒüini ve nasƒ±l duzeltileceƒüini g√∂stereceƒüiz.

Haydi başlayalım!

Nedir? a Python KeyError?

Dizin olu≈üturma s√∂zdizimini kullanarak s√∂zlukte var olmayan bir √∂ƒüeye eri≈ümeye çalƒ±≈ütƒ±ƒüƒ±nƒ±zda bir Python KeyError olu≈üur. Python, s√∂zlukte olmayan bir √∂ƒüe için deƒüer d√∂nduremediƒüi için bu hata olu≈üur.

Bir Python s√∂zluƒüu bir kumedir. kume parantezleri ({}) içinde saklanan anahtar/deƒüer çiftlerinin sayƒ±sƒ±:

Anahtarlar "name‚", "fiyat‚" ve "RAM‚" . Anahtarlar bir s√∂zlukte iki nokta ust uste i≈üaretinden √∂nce g√∂runur.

Katƒ±lƒ±mcƒ±larƒ±n %81’i bir eƒüitim kampƒ±na katƒ±ldƒ±ktan sonra teknik i≈ü beklentileri konusunda daha emin hissettiklerini belirtti. Bugun bir eƒüitim kampƒ± ile e≈üle≈ütirin.

Ortalama bir eƒüitim kampƒ± mezunu, bir eƒüitim kampƒ±na ba≈ülamaktan ilk i≈üini bulmaya kadar, kariyer geçi≈üinde altƒ± aydan daha az zaman harcadƒ±.

Ne olduƒüunu g√∂relim. s√∂zluƒüumuzdeki USB baƒülantƒ± noktasƒ± sayƒ±sƒ±nƒ± almaya çalƒ±≈üƒ±rsak:

Kodumuz şunu döndurur:

Bu hata bize belirttiƒüimiz anahtarƒ±n mevcut olmadƒ±ƒüƒ±nƒ± s√∂yluyor. Bu durumda, eksik anahtar "usb_ports‚"’dur.

KeyError Python: Solutions

Bir Python s√∂zluƒüu KeyError’ƒ± i≈ülemek için ≈üunlarƒ± yapabilirsiniz:

  • Dizin olu≈üturmayƒ± kullanarak √∂nceden bir anahtar olup olmadƒ±ƒüƒ±nƒ± kontrol edin
  • "in‚" bir anahtar olup olmadƒ±ƒüƒ±nƒ± kontrol etmek için anahtar kelime
  • Bir try‚Ķexcept bloƒüu kullanƒ±n.

Sizin için en iyi sonucu veren KeyError’ƒ± ele almanƒ±n ç√∂zumu, kullanƒ±m durumunuza g√∂re deƒüi≈üir.

Sözluk get() Yöntemini kullanın

Python sözluğu get() yöntemi sözlukte bir değer döndurur. get() yöntemiyle varsayılan bir değer belirtebilirsiniz. Belirttiğiniz anahtarın adının bir değeri yoksa bu varsayılan değer döndurulur.

Duşununuz aşağıdaki kod:

Python yorumlayƒ±cƒ±sƒ±nƒ± kullanarak kodumuzu çalƒ±≈ütƒ±ralƒ±m ve ne olduƒüunu g√∂relim:

Kodumuz, "ALU‚" s√∂zluk. Bu anahtar adƒ±na kar≈üƒ±lƒ±k gelen bir deƒüer yok. get() y√∂ntemi, belirttiƒüimiz varsayƒ±lan deƒüeri d√∂ndurur, bu "mevcut deƒüil‚" .

İndekslemeyi Kullanarak Önceden Anahtarı Kontrol Edin

Bir Anahtar Hatasƒ± ile kar≈üƒ±la≈ümamak için indekslemeyi kullanarak bir anahtarƒ±n varlƒ±ƒüƒ±nƒ± kontrol edebilirsiniz. S√∂zlukte bir anahtar varsa, o anahtarƒ± kullanabilirsiniz. Aksi takdirde, programƒ±nƒ±za o tu≈üa baƒülƒ± olmayan ba≈üka bir ≈üey yapmasƒ±nƒ± s√∂yleyebilirsiniz.

Haydi "raspberry_pi‚" Python’da s√∂zluk. ƒ∞ndekslemeyi kullanarak anahtarƒ±mƒ±zƒ±n s√∂zluƒüumuzde olup olmadƒ±ƒüƒ±nƒ± kontrol edelim:

Bir Python "if‚" anahtarƒ±mƒ±zƒ±n var olup olmadƒ±ƒüƒ±nƒ± kontrol etmek için deyim. "raspberry_pi[get_key]‚" yalnƒ±zca anahtar varsa bir deƒüer d√∂ndurur. Bu, anahtarƒ±mƒ±z varsa, "if‚" deyimi yurutulecektir. Anahtarƒ±mƒ±z yoksa, "else‚" deyimi yurutulecektir.

Raspberry Pi’mizin RAM’ini bulmaya çalƒ±≈üalƒ±m:

≈ûimdi bilgisayarƒ±n kaç USB baƒülantƒ± noktasƒ± olduƒüunu bulmaya çalƒ±≈üalƒ±m:

Kodumuz bir KeyError olu≈üturmuyor! Bunun nedeni, kullanmadan √∂nce anahtarƒ±mƒ±zƒ±n var olup olmadƒ±ƒüƒ±nƒ± kontrol etmemizdir. Eƒüer "else‚" içinde raspberry_pi[get_key] kullansaydƒ±k; ifadesi, kodumuz bir KeyError d√∂ndurur.

Bir try…except Block

Bir Python try‚Ķblock hariç bir satƒ±r çalƒ±≈ütƒ±rmayƒ± deneyecek Bu kod satƒ±rƒ± çalƒ±≈ütƒ±rƒ±lamazsa, kodumuz belirttiƒüiniz istisnalara g√∂re √∂zel bir hata olu≈üturacaktƒ±r.

Bir hatanƒ±n varlƒ±ƒüƒ±nƒ± belirlemek için bir try‚Ķexcept bloƒüu kullanabiliriz ve beklenmedik bir KeyError’ƒ±n Python programƒ±mƒ±za yardƒ±m etmesini durdurun.

Daha √∂nce bir try‚Ķblock kullanarak bilgisayar √∂rneƒüimiz için √∂zel bir hata tanƒ±mlayalƒ±m:

"Python.Engineeringsƒ± hayatƒ±ma girdi en çok ihtiyacƒ±m olduƒüunda ve hƒ±zlƒ± bir ≈üekilde bir bootcamp ile e≈üle≈ümeme yardƒ±mcƒ± oldu. Mezun olduktan iki ay sonra, hayattaki deƒüerlerim ve hedeflerime uygun hayalimdeki i≈üi buldum!"

Venus, Rockbot’ta Yazƒ±lƒ±m Muhendisi

< p>Raspberry Pi bilgisayarƒ±yla ilgili belirli bir bilgiyi konsola yazdƒ±rmaya çalƒ±≈ümak için try‚Ķexcept bloƒüunu kullanƒ±rƒ±z.Eƒüer kodumuz "try‚" bloƒüunun herhangi bir yerinde bir KeyError ortaya 烱karƒ±rsa, kodumuz içeriƒüin içeriƒüini yurutur. "except‚" blok.

Bu, her KeyError olu≈üturulduƒüunda, konsola "Bu bilgi mevcut deƒüil" yazdƒ±rƒ±ldƒ±ƒüƒ± anlamƒ±na gelir. Bilgisayarƒ±n adƒ±nƒ± √∂ƒürenmeye çalƒ±≈üalƒ±m. :

≈ûimdi bilgisayarƒ±n USB port kullanƒ±labilirliƒüini √∂ƒürenmeye çalƒ±≈üalƒ±m:

Kodumuz, "try‚" engellemek. Bu, kodumuzun "except‚" kod bloƒüu.

Bir Anahtarı Önceden Kullanarak Kontrol Edin

"in‚" anahtar kelime, Python’un uyelik operat√∂rlerinden biridir. Bir √∂ƒüenin bir deƒüerler listesinde olup olmadƒ±ƒüƒ±nƒ± kontrol eder. "in‚" Bir anahtarƒ±n s√∂zluk içinde olup olmadƒ±ƒüƒ±nƒ± kontrol etmek için anahtar kelime.

Bu program, değerini konsola yazdırmadan önce bir anahtarın var olup olmadığını kontrol eder:

Bu kod, "get_key‚" deƒüerinin "raspberry_pi‚" s√∂zluƒüundeki bir anahtar olup olmadƒ±ƒüƒ±nƒ± kontrol edecektir. Anahtar varsa, "if‚" ifadesi çalƒ±≈üacaktƒ±r. Aksi takdirde, "else‚" ifadesi çalƒ±≈üacaktƒ±r. Bilgisayarƒ±n CPU’su hakkƒ±ndaki bilgileri kontrol etmeye çalƒ±≈üalƒ±m:

Bilgisayarın adını kontrol edelim:

Kodumuz çalƒ±≈üƒ±yor! Var olmayan bir anahtarƒ± aradƒ±ƒüƒ±mƒ±zda, "else‚" deyim çalƒ±≈üƒ±r. Bu, "else‚" engelle.

Kodumuz çalƒ±≈üƒ±yor! Var olmayan bir anahtarƒ± aradƒ±ƒüƒ±mƒ±zda, "else‚" deyim çalƒ±≈üƒ±r. Bu, "else‚" blok.

Sonuç

Var olmayan bir s√∂zlukten bir deƒüere eri≈ümeye çalƒ±≈ütƒ±ƒüƒ±nƒ±zda bir KeyError olu≈üur. Bir anahtar hatasƒ±nƒ± ç√∂zmek için, kullanmadan √∂nce bir anahtarƒ± √∂nceden kontrol edebilir ve yalnƒ±zca anahtar varsa kullanabilirsiniz. √ñnemli bir hatayƒ± i≈ülemek için try‚Ķexcept bloƒüunu kullanabilirsiniz.

Python programlama dilini nasƒ±l √∂ƒüreneceƒüiniz konusunda tavsiyeler için kapsamlƒ± Python Nasƒ±l √ñƒürenilir kƒ±lavuzu. Bu kƒ±lavuzda en iyi √∂ƒürenim kaynaklarƒ±na, kitaplara ve kurslara baƒülantƒ±lar bulacaksƒ±nƒ±z.

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method