Python'da soyutlama

İçindekiler
Yazılım geliştirmede soyutlama, ortak karmaşıklıkla kendi başlarına çalışan kod parçalarını tanımlamamıza izin verdiği için oldukça önemlidir., çoğu zaman, istediğimiz zaman kullanabileceğimiz birçok durum için geçerli olan soyut işlevleri kullanabiliriz.
Yazmış olabileceğimiz programları görürsek piton Öğreticileri takip ettikten sonra, bunların maksimum 15 ila 20 satırlık küçük programlar olduğunu görüyoruz, ancak çok daha büyük bir program yazmak istesek, soyutlama yapmazsak büyük bir problem olurdu. Programcının erdeminin, gereksiz iş yapmaması, yani aynı şeyi iki kez çalışmaması veya kendini tekrar etmemesi olduğunu unutmayın.
Aşağıdaki kodu görelim, a'nın ilk 10 sayısını hesaplıyor. Fibonacci Dizisi:
 fibs = [0, 1] i aralığında (8): fibs.append (fibs [-2] + fibs [-1]) 

Bu etkili bir şekilde ilk 10 sayı ile sonuçlanır

Şimdi, kullanıcının 10 sayı yerine dinamik bir nicelik olduğunu tanımlamasını istersek, kodumuzu aşağıdaki gibi yeniden koşullandırırsak ne olur:
 fibs = [0, 1] num = giriş ('Kaç Fibonacci sayısı istiyorsunuz?') aralığında i için (sayı-2): fibs.append (fibs [-2] + fibs [-1]) print fibs 

Buraya kadar her şey normal görünüyor, teknik bir sorun görmüyoruz, ancak bir programlama felsefesi sorunu var, örneğin bir programın birkaç bölümünde bunu yapmak istiyorsak tüm bu satırları tekrar tekrar yazmamız gerekiyor, bu şöyle olurdu. gereksiz iş diyoruz. Soyutlama dediğimiz şey, arkasında olanın izole edildiği, her yerde çalışacak şekilde yapıldığı, yalnızca koşullarımız için gerekli olanı elde etmekle ilgilendiğimiz daha kısa koddur, önceki kodları görmenin daha soyut bir yolu şu olabilir:
 num = input ('Kaç sayı istiyorsunuz?') fibs yazdır (sayı) 

Tamamen doğrudan olduğuna dikkat edelim, kullanıcının kaç tane sayı istediğini giriyoruz, sonra bir sonuç yazdırıyoruz, ne olduğu gibi, başka bir yerde istediğimiz zaman onu çağırmamıza izin veren bir fibs işlevi tanımladık, ihtiyaçtan kaçınıyoruz. hesaplama döngüsünü tekrar tekrar yapmak, programımızı daha okunaklı ve daha az karmaşık hale getirmek.
Büyük bir program geliştirirken okunabilirlik her şeydir, sistem kaynaklarının yönetimi ve verimlilik de önemlidir, ancak bir programı okurken anlamazsak nasıl geliştirebiliriz, örneğin şu kod:
 sayfa = download_page () sıklık = kelime için hesaplama_frekansları (sayfa), sıklık cinsinden sıklık: kelime yazdır, sıklık 

Okurken ne yaptığını ve ne döndürmesi gerektiğini biliyoruz, bu en saf haliyle bir soyutlama, bu noktada yöntemlerin ve işlevlerin nasıl çalıştığı bizi ilgilendirmiyor, şimdi verimlilik ve kaynak yönetimi sorunlu hale gelirse, basitçe üzerinde çalışıyoruz. fonksiyon ve program etkilenmeyecek, bu yüzden sadece bir kez çalışacaktık.
Hepsi bu eğitim için, kodumuzu soyutlayabilmemiz ve çok daha verimli çalışabilmemiz için düşünmeye devam etmek ve programcı zihniyetimizi geliştirmek için materyalimiz kaldı.
wave wave wave wave wave