Python’da iç içe geçmiş işlevler – basit dilde eğitim + örnek ve kod
“Python’da İç İçe Fonksiyonlar”, programlamadaki bir fonksiyonun başka bir fonksiyonun içindeki tanımını ifade eden ilginç kavramlardan biridir. “İç Fonksiyonlar” olarak da bilinen bu iç içe geçmiş fonksiyonlar, aralık değişkenlerine erişme konusunda benzersiz bir yeteneğe sahiptir. Daha basit bir ifadeyle ana işlevlerinin kaynaklarından yararlanabilirler. Python’daki iç içe geçmiş işlevler bu dilin güçlü araçlarından biridir ve bir işlevi başka bir işlevin içinde tanımlamamıza olanak tanır. Bu konsept, bir işlevi başka bir işlevin içine yerleştirerek daha düzenli ve yönetilebilir kod oluşturmaya yardımcı olur. İç İçe Fonksiyonlar konsepti sayesinde kodlar daha okunaklı ve aynı zamanda daha optimize hale geliyor. Faradars dergisindeki bu yazımızda Python’da iç içe fonksiyonların neler olduğunu ve bunları neden kullandığımızı açıklıyoruz.
Python’daki işlevlere giriş
Bu bölümde Python’daki fonksiyonlar ve fonksiyonel programlama gibi bu konunun temel kavramlarını kısaca gözden geçireceğiz .
Python’daki işlevler
Fonksiyonlar Python programlamada önemli bir rol oynar . İşlevler aslında belirli görevleri yerine getirebilen, yeniden kullanılabilen kod parçalarıdır. Fonksiyonu tanımladıktan sonra, adını kullanarak ve gerekirse parantez içindeki argümanları ileterek onu çağırabiliriz. Farklı görevleri gerçekleştirmek için her birinin kendi görevi olan çeşitli işlevler tanımlayabiliriz. Bu sayede kodlarımız daha kolay organize edilir ve yapılandırılır. Belgeleme ve işlev yazma, özellikle büyük projelerle uğraşırken kodun daha kolay okunabilmesi ve hata ayıklaması için önemli bileşenlerdir.
Fonksiyonel programlama
Python programlama dili “İşlevsel Programlama ” gibi çeşitli programlama paradigmalarını destekler . Bu programlama yaklaşımı, paylaşılan durumu, değiştirilebilir verileri ve yan etkileri kullanmadan saf işlevlerin kullanılmasına odaklanır. Normalde Python’da bu yaklaşım “yüksek dereceli” işlevler ve lambda ifadeleri kullanılarak yapılır veya lambda kullanıldı.
Python’da iç içe geçmiş işlevler ne anlama gelir?
Python’daki iç içe işlevler, bu programlama dilinde başka bir işlevin içinde bir işlev oluşturduğumuz bir kavramdır. Yani bir fonksiyonu başka bir fonksiyonun içinde tanımlayabiliriz, daha sonra bu fonksiyon, dış fonksiyonunda bildirilen değişkenlere erişebilir.
Python’da iç içe geçmiş işlevleri ne zaman kullanırız?
Python’daki iç içe geçmiş işlevler, yalnızca “Dış İşlev” kapsamında ihtiyaç duyulan bir yardımcı işlevi tanımlamamız gerektiğinde kullanışlıdır. Python’daki iç içe geçmiş işlevler, kodumuzun okunabilirliğini artırmanın yanı sıra kodun düzenlenmesine ve modülerleştirilmesine de yardımcı olur.
Python’daki iç içe geçmiş işlevlere örnekler
Faradars dergisi yazımızın bu bölümünde Python’daki iç içe geçmiş fonksiyon veya iç içe geçmiş fonksiyon örneklerini incelemek istiyoruz.
Python’da iç içe geçmiş işlevlerin ilk örneği
Aşağıda iç içe geçmiş işlevlere bir örnek verilmiştir.
Bu kodların çıktısını aşağıda verdik.
8
Kodların açıklaması
Bu örnekte aşağıda isimleri verilen 2 adet fonksiyon tanımladık.
- dış_işlev
- iç_işlev
İşlev dış_işlev Giriş argümanı çağrıldı X Alma ve işlev iç_işlev çıktı olarak geri döner. Benzer şekilde, fonksiyon iç_işlev argüman sen Alınan ve toplam X Ve sen şunu döndürür:
fonksiyon çıkışı dış_işlev(5) değişkene add_beş Bunun bir fonksiyon haline gelmesini ve değerini atadık 5 argümanına katkıda bulunuyor. sırasında add_beş(3) Buna eşit bir sonuç diyoruz 8 Alacağız
Python’daki iç içe geçmiş işlevlerin ikinci örneği
Aşağıda iç içe geçmiş işlevlerin başka bir örneğine bakıyoruz.
Bu kodların çıktısını aşağıda verdik.
3
Kodların açıklaması
Bu örnekte, adı verilen bir işlev dış_işlev Başlangıç değerini tanımladık. 1 İle X Oranlar ve çıktı iç_işlev şunu döndürür: iç_işlev Değişken sen İle 2 Başlatır ve toplar X Ve sen şunu döndürür:
İşlev ne zaman dış_işlev Değer diyoruz 3 Sonuç olarak değişkenlerin toplamını elde edeceğiz. X Ve sen Dır-dir. İşlev iç_işlev kapsama alanı içinde dış_işlev çağrılır ve değişkene X – Fonksiyonun içinde tanımlanmış dış_işlev – erişime sahip olacak.
Python’da iç içe geçmiş işlevleri kullanmanın avantajları
Python’da iç içe geçmiş işlevleri kullanmanın birçok avantajı vardır. Bu özellik, programcıların daha esnek ve sağlam bir programlama yapısı oluşturmasına, kodlarının okunabilirliğini artırmasına ve modüler kod oluşturarak bakım sürecini kolaylaştırmasına olanak tanır.
“Kapsülleme ve Modülerlik”: Python’da iç içe geçmiş fonksiyonların en önemli avantajı, bir fonksiyonun spesifik kapsamı içerisinde yardımcı fonksiyonları tanımlayabilme yeteneğine dayanır. Sonuç olarak, kod organizasyonu teşvik edilirken, genel ad alanındaki karışıklık ve karışıklıktan kaçınılır. Örneğin aşağıdaki örneği inceleyin.
Bu örnekte, double_odd_numbers Fonksiyonlar garip Ve çift Bu, bu işlevlerin yalnızca ana işlev kapsamında kullanıldığı için anlaşılmasını kolaylaştırır.
“Kapanış Oluşturma”: Python’daki iç içe geçmiş fonksiyonların bize sağladığı bir diğer önemli avantaj da kapanış oluşturabilme yeteneğidir. Bu özellik, iç içe geçmiş işlevlerin, kendilerini çevreleyen işlevlerden değişkenlere erişmesine ve bunları değiştirmesine olanak tanır. Örneğin aşağıdaki kod parçasını düşünün.
Bu kodların çıktısı aşağıdaki gibi olacaktır.
8 9
Bu durumda fonksiyon güç_işlevi Yeni bir işlev adı verildi üs_gücü Bir bazın güç değeri olabilecek şeyleri oluşturur temel - verilen güce göre – hesaplamak Bu iç içe geçmiş yapıyı kullanarak aşağıdaki gibi işlevler kare Ve küp değişkene temel Çevreleyen işlevden, değerlere sahip yeni işlevlere erişin ve bunları oluşturun temel Farklı kolaylaştırırlar.
Bu dilin geliştiricileri, Python’daki iç içe geçmiş işlevlerden yararlanarak kodlarının okunabilirliğini ve modülerliğini artırabilir ve daha çeşitli ve verimli yapılar oluşturmak için çerçevenin güçlü işlevlerini kullanabilir.
Python’da iç içe geçmiş işlevler nasıl oluşturulur?
Python’daki iç içe işlevler, başka bir işlevin içinde bir işlev oluşturma veya tanımlama sürecini ifade eder. Bu süreç kodların daha iyi organize edilmesine ve okunabilirliğinin artmasına yardımcı olur. Python’da iç içe geçmiş bir işlev oluşturmak için aşağıdaki adımları uygulamanız yeterlidir.
- “Dış Fonksiyon”u yaratıyoruz.
- Dış fonksiyonun içinde “iç fonksiyon”u tanımlıyoruz.
- Dış fonksiyonun içindeki iç fonksiyona veya bunun sonucu olarak dönüş diyoruz.
Daha önce de belirttiğimiz gibi Python’da iç içe geçmiş işlevler oluşturmak, kodu organize etmenin ve basitleştirmenin yararlı bir yoludur. Ayrıca karmaşık süreçleri basitleştirir ve kodların daha iyi okunabilir olmasına yardımcı olur.
Gerçek uygulamalardaki Python iç içe geçmiş işlevlere örnekler
İç içe işlevler, diğer işlevlerin içinde tanımlanan işlevlerdir. Bu şekilde fonksiyon oluşturmak programlamada oldukça faydalıdır ve gerçek Python uygulamalarında kullanılabilir. Örneğin, iç içe geçmiş bir işlev, başka bir işlevi çağıran bir işlevi tanımlayabilir. Veya başka bir örnekte, iç içe geçmiş bir işlev, önceden tanımlanmış bir işlevi kullanan bir işlevi tanımlayabilir. Ayrıca iç içe geçmiş fonksiyon bize “Yerel Kapsam” da sağlayabilir.
İlk örnek
Aşağıdaki kodları göz önünde bulundurun.
Bu örnekte fonksiyon çocuk_işlevi İç içe geçmiş bir işlevin, işlevin içinde olduğu kabul edilir ebeveyn_işlevi tanımlandı. İşlev ebeveyn_işlevi Bir parametre adı verildi X alır Daha sonra fonksiyondan çocuk_işlevi Değerini ikiye katlamak için kullanır. Son olarak toplam X Ve çocuk_işlevi şunu döndürür: Gerçekleştirerek ebeveyn_işlevi(5) miktarı 15 Sonuç olarak elde ederiz
İkinci örnek
Bu konuda bir örnek daha verdik.
Bu örnekte, iç Yuvalanmış bir işlev, bir işlevin içindedir engerek tanımlandı. İşlev engerek Bir parametre adı verildi A Alma ve işlev iç şunu döndürür: İşlev iç Bir parametre adı verildi X Alma ve toplam X Ve A şunu döndürür: sırasında toplayıcı(3) Fonksiyonu çağırıyoruz iç Alacağız iç Aynı zamanda X Kurtarırız Onun için toplayıcı(5) Aynı zamanda böyle olduğu da doğrudur sen Kurtarırız sırasında x(5) şuna eşit bir sonuç olsun 8 Sahip olacağız ve ne zaman y(5) Biz ararız, numara 10 çıktı olarak alacağız.
Üçüncü örnek
Faradars dergisinden aldığımız bu yazının devamında başka bir örneği inceleyeceğiz.
Bu örnekte fonksiyon kare Yuvalanmış bir işlev, bir işlevin içindedir üstel tanımlandı. İşlev üstel Bir parametre adı verildi X Alınan ve kare değeri X Dördüncü kuvvete geri döner. İşlev kare Bir parametre adı verildi sen Alındı ve karesi alındı sen şunu döndürür: Gerçekleştirerek üstel(2) , miktarı 16 bunun sonucunda elde edeceğiz.
Python’da iç içe geçmiş işlevleri kullanmaya yönelik en iyi uygulamalar
Bu iç içe geçmiş işlevlere yönelik en iyi uygulamalar aşağıdakileri içerir.
- Aşırı yuvalamadan kaçının
- Her fonksiyonun net bir amacı olmasını sağlamak.
- Uygun değişken aralıklarını kullanın.
Python’da iç içe geçmiş fonksiyonları kullanmak için önce dış fonksiyonu tanımlarız, sonra da onun içindeki iç fonksiyonu tanımlarız. İç fonksiyon, dış fonksiyon içindeki değişkenlere erişime sahip olacaktır ancak bunun tersi doğru değildir. Aşağıda bu konuyla ilgili 2 örnek verdik.
Bu örnekte Güç işlevi iç içe geçmiştir. Dış fonksiyon bir sayı alır ve bu sayının gücünü hesaplayan iç fonksiyonu çıktı olarak döndürür. İç fonksiyon, parametreyi iletmesine izin veren dış fonksiyonun kapsamında tanımlanır. sayı güce erişin ve hesaplayın.
Aşağıda başka bir örnek var.
Bu örnekte, bir döngü ve iç içe geçmiş işlevler kullanılarak bir işlev listesi oluşturulmuştur. Döngü içinde tanımlanan iç fonksiyon, döngü değişkenine erişim sağlar; Ben verir Ortaya çıkan fonksiyon listesi daha sonra çeşitli değerlerle hesaplamalar yapmak için kullanılabilir. Ben kullanılmak
Python’da iç içe geçmiş işlevleri kullanırken sık karşılaşılan hatalar
Python programlamada iç içe geçmiş işlevleri kullanırken yaygın hataları önlemek için, işlev ve değişken adlarının iç işlevde ve onun ana işlevinde tekrarlanmadığından emin olmak önemlidir, çünkü bu, karışıklığa ve hatalara yol açabilir.
Kaçınılması gereken diğer yaygın hatalar arasında, başka bir işlevin içindeki bir işlevin yanlış çağrılması ve iç içe geçmiş işlevlerin içindeki döngülerin yanlış kullanılması yer alır. Ayrıca fonksiyonel programlama yöntemlerini kullanırken dikkatli olmalıyız.
Örneğin, aşağıdaki kod, bir değişkenin hem ana hem de iç işlevlerde tanımlandığı yaygın bir hatayı gösterir.
Sıkça Sorulan Sorular
Artık yuvalanmış işlevlerin ne olduğunu, Python’da nasıl yazıldığını ve nasıl çalıştıklarını bildiğimize göre, bu bölümde bunlarla ilgili bazı genel soruları da yanıtlayacağız.
İç içe işlev ile ne kastedilmektedir?
Söylediğimiz gibi iç içe işlevler, bir işlevin başka bir işlevin içinde tanımlanmasını içerir ve bu, kodların kapsüllenmesine ve düzenlenmesine yardımcı olur.
Python’da anonim işlevler ile iç içe geçmiş işlevler arasındaki fark nedir?
“İç içe işlevler” aslında başka bir işlevin içinde tanımlanan işlevlerdir ve bu işlevlere yalnızca dıştaki kapsayıcı işlevin içinden erişilebilir. Diğer yanda ise isimsiz fonksiyonlar olan ve lambda anahtar kelimesiyle tanımlanan “Anonim Fonksiyonlar” var. Bu tür işlevler programın herhangi bir yerinde tanımlanabilir ve ayrıca diğer işlevlere argüman olarak iletilebilir.
Çözüm
Faradars dergisindeki bu yazımızda Python’da iç içe fonksiyon kavramını ve bu tip fonksiyonların nasıl oluşturulacağını anlattık. Bu yöntemin bize sağladığı avantajları da öğrendik. Ayrıca Python’da iç içe geçmiş fonksiyonlara çeşitli örnekler vermişken, bunların kullanımının gerçek uygulamalarını da ilgili kodla birlikte anlattık.
İç içe fonksiyonlar yazarken, düzeltilmesi için bazı ipuçları verdiğimiz hatalarla karşılaşabiliriz. Son olarak bu başlıkta sıkça sorulan bazı soruları tartıştık ve ilgili cevapları birlikte inceledik