Python: Bölüm 4 – Döngüler

Herkese merhabalar,

Python eğitim serisinin bir önceki yazısında öncelikle Python programlama dilinde kullanımı çok önemli olan dir(), help() ve type() fonksiyonlarını işledik. Daha sonra operatörleri ve koşul ifadelerini öğrendik. Bundan önceki bölüm olan Python: Bölüm 3 – Operatörler ve Koşul İfadeleri yazısını daha okumadıysanız bu linke tıklayarak ulaşabilirsiniz.

İçerik:

  1.  For Döngüsü
  2.  While Dögüsü
  3.  Range Fonksiyonu

Bu yazımızda ise dögüleri (loop) işleyeceğiz. Hadi başlayalım!!

https://gph.is/g/EBNW0lE

Şimdiye kadar öğrendiklerimiz sayesinde Python’la ufak tefek programlar yazabilecek düzeye geldik. Şimdi ise dögüleri öğrenerek kendimizi biraz daha geliştirme zamanı.

Programlamanın en temel yapılarından biri de döngülerdir. Döngüler ile birbirini tekrar eden işlemleri daha düzenli ve sistematik şekilde yapabiliriz. Döngüler aynı zamanda daha da az kod yazmamızı sağlar. Akış denetimini sağlayan iki önemli döngü vardır: Bunlar for ve while döngüleridir.

For Döngüsü:

Github gibi platformlarda yazılmış Python programlarının kaynak kodlarını incelediğinizde, içinde for döngüsü geçmeyen bir program kolay kolay bulamazsınız. Belki while döngüsünün kullanılmadığı programlar vardır. Ancak for döngüsü Python’da o kadar yaygındır ve o kadar geniş bir kullanım alanına sahiptir ki, hemen hemen bütün Python programları for döngüsünü en az bir kez kullanır.

For döngüsünün yapısı aşağıdaki gibidir.

For döngüsünde iteratör tipi bir nesne kullanılır ve for döngüsüyle bu iteratör nesnenin ürettiği elemanlar tek tek sırayla işleme sokulur. liste ile belittiğimiz argüman herhangi bir liste tipinde değişken olabilir. Bu liste yapısı for ile işleme girmeden önce bir iteratöre dönüştürülür.

For Döngüsü

For döngüsü listenin içerisine girip for satırının altındaki işlemi uygular. İşi bitince tekrar listenin içerisine girer ve sıraki elemana yapmasını istediğimiz işlemi uygular. Bu işlem bütün elemanlara uygulandığında for döngüsü de tamamlanmış olur. Yukarıdaki örnekte liste adıyla oluşturulmuş listenin içinde hem tam sayı, hem string hemde liste vardır. Buradan anlayacağımız liste elemanlarının hepsinin aynı tipte olma zorunluluğu yoktur. Bizim for dögüsünün yapmasını istediğimiz işlem liste içindeki elemanları sırasıyla yazdırmaktır.

For ile string elemanlarına erişmek

String içindeki her bir karaktere ulaşmak için de for döngüsünü kullanabiliriz. Bunun bir örneğini yukarıdaki kodda görebilirsiniz.

While Döngüsü:

While döngüsü aynı if koşul yapısı gibi bir koşul ifadesi içerir. Bu koşul True değeri döndürdüğü sürece döngü içerisine yazdığımız kodu çalıştırabiliriz. Buda demek oluyorki while döngüsü sayesinde istersek programlarımızın sürekli olarak sonsuza kadar çalışmasını sağlayabiliriz. Eğer kontrol dışı programımız sonsuz döngüye girmesini sağlarsak, gereksiz yere işlemci ve bellek kullanımına sebep olucaktır. Bu sebeple genellikle while bloğunun içine koşul değerini değiştiricek bir kontrol ifadesi bulundurmalıyız.While döngüsünün yapısı aşağıdaki gibidir.


Hadi şimdi de bir örnek yapalım.

While Döngüsü

Örnekte görüldüğü gibi önce a değişkenine sıfır değerini atıyoruz. While koşulu a<10 olarak yazıldı ve a değerimiz 10’dan küçük olduğu için döngünün içine girildi. Döngünün içinde ilk olarak a değerini yazdırıyoruz ve daha sonraki işlemde ise değeri 1 arttırıyoruz. Blokta yapılcak başka bir işlem olmadığı için while döngüsü tekrar başa dönüp koşul ifadesini tekrar kontrol ediyor. Bu döngü, a değeri 10 olana kadar devam ediyor ve 10 olunca while koşul ifadesi False değerini döndüreceği için kod döngüden çıkıyor.

While döngüsünün kırılması için mutlaka koşulun False döndürmesi şart değildir. Döngü bloğu içinde verilen break komutu da döngünün kırılmasını sağlar.

While döngüsü içinde break kullanımı

while True: ifadesiyle aslında sonsuz bir döngü oluşturduk. Bu durumda mantıken koşulumuz hep True olacağı için kendi kendine sonlanması mümkün değildir. Bü sebeple döngü içine eklenen if koşul ifadesiyle a değeri 10 veya daha büyük bir değer aldığında break komutu devreye giriyor ve döngüyü kırıyor.

Döngülerin akışını değiştiren bir diğer komut ise continue komutudur. Bu komut çalıştığında kendinden sonraki işlemleri atlayıp, döngünün başına dönmeyi sağlar.

while döngüsü içinde break ve continue kullanımı

Yukarıdaki örnekte tek sayılarda hemen döngünün başına atlıyor 20 değerini aşınca döngü kırılıyor, aksi halde b’nin sahip olduğu değeri yazdırıyoruz. Özet olarak ekrana 20’ye kadar olan çift sayıları yazdırıyoruz.

Bahsetmek istediğim bir diğer komut pass komutudur. Hiç bir eylemsel işlevi yoktur. Bu komutu henüz kodlarını yazmadığımız fonksiyonları tanımlarken veya herhangi bir işlem yapılmamasını istediğimiz koşullarda kullanırız.

Range Fonksiyonu:

Çok kullanışlı ve işimize yarayacak fonksiyonlardan biri olan range() fonksiyonu başlangıç değeri, artış değeri ve bitiş değeri olmak üzere üç farklı parametre alabilen, bu parametrelere göre belli bir aralıkta ve belli bir artış miktarı ile tam sayı dizisi oluşturan yerleşik bir fonksiyondur.

range(son) -> range(5) – Sıfırdan 5’e kadar tam sayılar üretir.

range(ilk,son) -> range(5,10) – 5’ten başlayıp 10’a kadar tam sayılar üretir.

range(ilk,son,artış_miktarı) -> range(4,44,4) – 4’ten başlayıp 44’e kadar 4’er arttırarak tam sayılar üretir.

range() Fonksiyonu

Yukarıdaki kodda da bahsetmiş olduğumuz üç farklı kullanımı örnek olarak görmüş olduk.

Bu bölümde Python programlama dilinde döngüleri gördük. Umarım beğenmişsinizdir. Vakit ayırıp okuduğunuz için teşekkür ederim.

Bu bölümde yazdığımız kodlara erişmek için bu linke, python programlama eğitim serimiz boyunca yazdığımız tüm kodlara erişmek için bu linke tıklamanız yeterlidir.

Kaynaklar:

  1. https://www.w3schools.com/python/python_for_loops.asp
  2. https://caylakyazilimci.com/post/for-dongusu
  3. https://python-istihza.yazbel.com/donguler.html
  4. https://www.sadikturan.com/python-donguler/python-for-dongusu/1388

 

Data Science Earth

Data Science Earth ekibi, üst düzey Veri Bilim çözümleri üretmek amacı ile toplanmış akademisyenler ve uzmanlardan oluşmaktadır. Öncelikli olarak veri bilincini geliştirmeyi ve küreselleşen rekabet ortamında verinin gücünün doğru kullanılmasını sağlamayı amaçlamaktadır.

Sponsor

QuestionPro 35 farklı soru seçim özelliği ile anket çalışmalarımıza güç katmaktadır.