IndentationErrors iki amaca hizmet eder: kodunuzu daha okunaklƒ± hale getirmeye yardƒ±mcƒ± olur ve Python yorumlayƒ±cƒ±sƒ±nƒ±n kodunuzu doƒüru bir ≈üekilde anlamasƒ±nƒ± saƒülar. Gerekli olmayan ek bir bo≈üluk veya sekme eklerseniz, "Girinti Hatasƒ±: beklenmeyen girinti‚" error.
Bu kƒ±lavuzda, bu hatanƒ±n ne anlama geldiƒüini ve neden ortaya 烱ktƒ±ƒüƒ±nƒ± tartƒ±≈üƒ±yoruz. Programƒ±nƒ±zda nasƒ±l duzeltebileceƒüinizi bulabilmeniz için bu hatanƒ±n bir √∂rneƒüini inceleyeceƒüiz.
Girinti Hatası: beklenmeyen girinti
Girinti, belirli bir bo≈üluk sayƒ±sƒ±dƒ±r. veya bir kod satƒ±rƒ±nƒ±n belirli bir kod bloƒüunun parçasƒ± olduƒüunu belirten sekmeler. ≈ûu programƒ± du≈üunun:
Tek bir fonksiyon tanımladık: hello_world()
. Bu fonksiyon bir print deyimi içerir. Python’a bu kod satƒ±rƒ±nƒ±n i≈ülevimizin bir parçasƒ± olduƒüunu belirtmek için girinti yaptƒ±k.
Tercihinize baƒülƒ± olarak kodu bo≈üluk veya sekme kullanarak girintileyebilirsiniz. Kodu yalnƒ±zca, o kodun ba≈üka bir kod bloƒüunun parçasƒ± olmasƒ± gerekiyorsa girintilisiniz. Bu, a≈üaƒüƒ±dakilere kod yazmanƒ±zƒ± içerir:
Python kodu, özel bir deyimde görunuyorsa tutarlı bir şekilde girintili olmalıdır. Python, girintiyi kesinlikle zorlar.
JavaScript gibi bazƒ± programlama dilleri, kod bloklarƒ±nƒ± belirtmek için kume parantezleri kullandƒ±klarƒ± için girintiyi kesinlikle zorlamaz. Python’da bu √∂zellik yoktur, bu nedenle dil buyuk √∂lçude girintiye baƒülƒ±dƒ±r.
"IndentationError: beklenmedik girintinin‚" hata, kodunuzu çok fazla girintili yapmak veya bir kod satƒ±rƒ±nƒ± girintilemek için çok fazla sekme ve bo≈üluk kullanmaktƒ±r.
Katƒ±lƒ±mcƒ±larƒ±n %81’i, bir eƒüitim kampƒ±na katƒ±ldƒ±ktan sonra teknik i≈ü beklentileri konusunda kendilerini daha guvende hissettiklerini belirtti. . Bugun bir eƒüitim kampƒ± ile e≈üle≈üin.
Ortalama bir eƒüitim kampƒ± mezunu, bir eƒüitim kampƒ±na ba≈ülamaktan ilk i≈üini bulmaya kadar, kariyer geçi≈üinde altƒ± aydan az zaman harcadƒ±.
Olabileceğiniz diğer girinti hataları karşılaşma şunlardır:
- Undent, başka bir girinti duzeyiyle eşleşmiyor
- Bir girinti bekleniyor blok
Örnek Senaryo
Bir kullanıcının yaptığı satın almaların bir listesi arasında dolaşan ve satın alınanların tumunu yazdıran bir program oluşturacağız. konsola 25,00 dolardan fazla.
Ba≈ülamak için, satƒ±n almalarƒ±n bir listesini tanƒ±mlayalƒ±m:
Sonra, satƒ±n alma listemizde dola≈ümak ve olanlarƒ± yazdƒ±rmak için bir i≈ülev tanƒ±mlarƒ±z konsola 25 dolardan fazla deƒüer:
show_high_purchases()
i≈ülevi bir baƒüƒ±msƒ±z deƒüi≈ükeni kabul eder: i≈ülevin arama yapacaƒüƒ± satƒ±n alma listesi . ƒ∞≈ülev bu listeyi yineler ve her satƒ±n alma i≈üleminin deƒüerinin 25,00 ABD dolarƒ±ndan fazla olup olmadƒ±ƒüƒ±nƒ± kontrol etmek için bir if
ifadesini kullanır.
Bir satın alma işlemi 25,00 ABD dolarından fazlaysa, Satın Alma:
konsola yazdƒ±rƒ±lƒ±r. Ardƒ±ndan, bu satƒ±n almanƒ±n fiyatƒ± konsola yazdƒ±rƒ±lƒ±r. Aksi takdirde hiçbir ≈üey olmaz.
Kodumuzu çalƒ±≈ütƒ±rmadan √∂nce fonksiyonumuzu çaƒüƒ±rƒ±n ve satƒ±n alma listemizi parametre olarak iletin:
Kodumuzu çalƒ±≈ütƒ±ralƒ±m. ve neler olduƒüunu g√∂run:
Kodumuz ba≈üarƒ±lƒ± bir ≈üekilde çalƒ±≈ümƒ±yor.
Çözum
Her Python hatasƒ±nda olduƒüu gibi, hatayƒ± tam olarak okumalƒ±yƒ±z. Neler olduƒüunu g√∂rmek için mesaj. Sorun, bir satƒ±n alma i≈üleminin deƒüerini yazdƒ±rdƒ±ƒüƒ±mƒ±z 7. satƒ±rda g√∂runuyor.
İkinci print()
ifadesini tesadufen girintili hale getirdik. İkinci print()
ifademiz ba≈üka bir kod bloƒüunun parçasƒ± olmadƒ±ƒüƒ± için bu bir hataya neden olur. H√¢l√¢ if
ifademizin bir parçasƒ±dƒ±r.