Önceki makalelerimizden birinde, işlevler gibi güçlü bir araca zaten bakmıştık. Ve kodda kendi alt yordamımızı tanımlamayı, ona argümanlar, bir talimat bloğu ve bir dönüş değeri eklemeyi öğrendik. Ve ayrıca - program metnindeki sorunları çözmek için onu arayın. Bugün özyinelemeli fonksiyonlar gibi ilginç bir araca bakacağız. Python - geçmek için bunu bilmek önemlidir DevOps kursları / DevNet incelemeleri Taşkent.
Özyineleme nedir, DevOps kursları / DevNet Taşkent'i inceliyor
Öncelikle özyinelemenin ne olduğunu anlayalım. Elbette bugünkü makalenin konusuyla ilgili olarak - fonksiyonel programlamada Python. Bu bağlamda özyineleme, aynı işlevi tekrar ancak yeni verilerle çağıran bir işlev talimatının eklenmesidir. Genellikle bu, işlev çağrısının önceki yinelemesinin bir sonucu olarak elde edilen verilerdir. Tabii ki bizim DevOps / DevNet kursları en iyi Taşkent için Özbekistan'daki BT uzmanları.
Yani, özyineleme ilkesini analiz ederseniz, şuna benzer: program bir alt yordamı çağırır ve verileri bir argüman biçiminde işlenmek üzere ona iletir. Birinci nesil altprogram bunları işler. Daha sonra aynı altprogramın ikinci neslini çağırır ve işlenmiş verileri ona yeniden işleme için bir argüman olarak aktarır. Ve bu böyle devam eder, ideal olarak sonsuza kadar.
Ancak yinelemenin hem avantajları hem de dezavantajları vardır. Özyinelemeli işlevlerin avantajları şunları içerir:
- özyinelemeli programlama yöntemine hakim olma kolaylığı;
- küçük kod bloklarıyla karmaşık sorunları çözme yeteneği;
- Sınırlı sayıda standart alt göreve bölünebilen görevlerde yüksek performans.
Ancak bu yöntemin dezavantajları arasında şunlar yer almaktadır:
- çalışmanın sonuçlarının mantık dışılığı ve algoritma analizinin artan karmaşıklığı;
- bilgisayar kaynaklarının tüketimindeki çığ benzeri bir artış, mevcut tüm belleği doldurabilir ve birkaç saniye içinde CPU'yu yükleyebilir);
- Programcı açısından süreci anlamak için yüksek gereksinimler.
Özetlemek gerekirse, özyinelemenin öğrenilmesi kolaydır ancak uygulanması zor olabilir. Ve deneyimsiz ellerde bu araç fayda sağladığı kadar baş ağrısına da neden olabilir. Ayrıca projenizdeki bellek sızıntıları için ideal bir kaynak haline gelin. Bu nedenle, onu doğru kullanmayı öğrenmek ve aynı zamanda özyinelemenin en büyük faydayı sağladığı yerde kullanmak çok önemlidir.
Python'da sorunları çözmek için özyinelemeyi kullanma örnekleri
Tabii ki, özyinelemeli programlamayı öğrenmeyi planlayanlar tarafından uzmanlaşılmalıdır. DevOps / DevNet kursları incelemeleri Taşkent. Ve 2024'te Özbekistan'da BT uzmanı olun. Büyük ihtimalle özyinelemeyi kullanmanın en basit örneği sayıların toplamını almaktır. 1 karşı n. Elbette bu sorunu çözmek için bir döngü kullanabilirsiniz. Ancak özyinelemeli çözüm biraz daha kısa olacak ve aracın çalışma prensibini gösterecektir.
Öncelikle fonksiyonu deklare edelim. def rec_sum(n) ve iki nokta üst üste koyun. 4 boşlukla girintili bir sonraki satıra, koşullu bir operatör ve bire eşitlik testi ekleyin - eğer n==1 ise: ve ek olarak 4 boşluk girintisiyle - 1 döndür. Bir sonraki satırda, koşullu ifadeyle aynı seviyede if - özyinelemeli algoritmayı içeren bir satır ekleyin: return n + rec_sum(n - 1).
Sonuç olarak, işlev her seferinde argümanı bir azaltarak kendisinin giderek daha fazla yeni versiyonunu çağıracaktır. Algoritmanın işinin duracağı sıfıra ulaşana kadar. Daha fazlasını öğrenmek için gitmenizi tavsiye ederiz DevOps / DevNet mühendisi kursları Taşkent platformda SEDICOMM.
Ekip SEDICOMM Üniversitesi: Cisco Akademisi, Linux Profesyonel Enstitüsü, Python Enstitüsü.

