Merhabalar
Son dersimizde print komutunun aralık bırakma (sep) ve sonlandırma (end) parametreleriyle, 4 işleme ait simgeleri gördük. Toplamayı +
ile, çıkartmayı -
ile, çarpmayı *
ile, bölmeyi /
ile, küsüratsız bölmeyi //
ile, kalan bulmayı %
ile, üs almayı **
ile yaptık. Son olarak da Python'da istediğimiz bir metni çarpma işlemiyle çoğaltabileceğimizi gördük.
Peki, yaptığımız işlemlerin sonuçlarına isim vermeye ne dersiniz? Kod yazarken, gerek işleme giren sayılara, gerek işlem sonuçlarına isim vermek bizi aynı sayıları tekrar tekrar yazmaktan artı hatalı işlem yapmaktan korur. Ayrıca tekrar edeceğimiz işlemleri bir formül haline getirebilmemizi sağlar. Bilgisayarın bu temel nüktesini minik bir örnekle anlatalım.
Diyelim ki boyumuz 1.65 m, kilomuz da 75 kg olsun. Bunları Pythona "boy" ve "kilo" diye isimlendirerek aşağıdaki gibi tanıtabiliriz:
boy = 1.65
kilo = 75
Tebrikler ilk atama
işlemini yaptınız. Burada en önemli simge aradaki "=
" eşittir simgesi. Eşittirle Python'a aynen şunu söylüyoruz:
"Abi 1.65 sayısını al, hafızanda "boy" isminde bir yer aç ve oraya koy, ben bir daha sana "boy" deyince bana o sayıyı ver. Bir de aynı şekilde "kilo" değişkeni oluştur, o da 75 sayısını tutsun sürekli". Bu andan itibaren, mesela print( boy ) yazdığımda Python bana anında 1.65
sayısını verecektir.
Şimdi hazır kilo lafı ettik, gelin zayıf mıyız, şişman mı onu hesaplayalım. Burada, ağırlığınızı boyunuzun karesine böldüğünüzde (kg/m²) çıkan vücut kitle indeksi denen bir kavramı kullanıyoruz. Bu sayı 18.5
ile 25
arasındaysa normal kilonuzdasınız, 30
a kadarsa kilo fazlanız var, daha yukarısı obez, 18.5
'un altında ise zayıfsınız demektir. Bu hesabı Python'da şu şekilde kodluyoruz :
kindeks = boy / kilo ** 2
Ne diyor burası: "Abi, hafızanda "boy" isimli yerdeki sayıyı al, bunun karesini bul, sonra da "kilo" isimli yerdeki sayıyı buna böl. Sonucu da hafızanda "kindex" isimli yeni bir yer aç ve oraya koy". Aradaki "isimli yerdeki" laflarını kullanmazsanız biraz daha programcı oldunuz, değişkenleri doğal olarak kullanıyorsunuz demektir. Mantık şu, kullandığımız her isim bilgilerimizi sakladığımız bir kutu. İster eşittirle bu kutuya yeni bir değer koyuyorsunuz, isterseniz de sadece kutunun ismini anarak içinde o anda ne varsa elinize almış oluyorsunuz.
Geriye kalıyor hesaplanıp hafızaya konan bu "kindex" i bizim de görmemiz, neydi o komut… print(kindex). O zaman toparlayalım, ilk mini programımız işte karşınızda:
boy = 1.65
kilo = 75
kindex = kilo / boy ** 2
print( kindex )
Bu kodu size verdiğim online sitelerde yazıp çalıştırdığınızda ekranda 27.5482
(ve devam eden) sayısını göreceksiniz. 25
'i aştığı için biraz kilolu bir indeks.
Şimdi gelelim bu hesabı böyle isimlerle filan yapmanın faydasına. Diyelim ki başka birisi için aynı indeksi hesaplayacaksınız. Boyu 1.65 değil de 1.75
, kilosu da 75 değil de 72
kg. O zaman, aynı kodda sadece ilgili sayıları değiştirmeniz ve kodu yeniden çalıştırmanız yeterli olacaktır :
boy = 1.75 # yeni kilolarla burayı ve
kilo = 72 # burayı değiştirdik
kindex = kilo / boy ** 2
print( kindex )
Bu sefer alacağınız sonuç 23.5102
(ve küsuratı devam eden) sayısı olacaktır. Bu şahsın kütle indeksi normal aralıkta. Dikkatli olanlar fark etmiştir, boy ve kilo satırlarının sağ tarafında kendimize göre yazılar yazdık. Bunlar hataya sebep olmaz mı acaba… Hayır, bilakis, programcılar bu şekilde bilgisayar kodlarının arasına, kendi notlarını alarak ileride aynı koda baktıklarında kendilerini yönlendirmeyi-hatırlatma yapmayı çok severler. Python'un bir satırda, diyez "#
" işaretinden sonraki hiç bir yazıyı kaale almadığını unutmuyoruz.
Değişkenler sayesinde, örneğimizde olduğu gibi, boy, kilo, indeks, yahut konunuz neyse onunla ilgili yapacağınız her türlü hesapta, programcılığın sınırsız diyebileceğimiz sahasında aklınıza gelebilecek her türlü nicelik ve niteliği bilgisayarda depolarız ve gerektiğinde değiştiririz.
Şimdi dikkatinizi değişkenlerin isimlerine değil de türlerine yoğunlaştırmanızı istiyorum. Mesela 85 bir tamsayı. Ama 1.75 bir ondalıklı sayı. Önceki derste tırnak işaretlerinin arasında kullandığımız yazı (yahut metin) türünü de hatırlayın. Şu ana kadar 3 farklı türde veriyle uğraştık. Şimdi bunların Python dünyasındaki isimleriyle tanışalım:
1.75 # float
85 # int
"Ali" # str
Evet, artık bunlardan sorumlusunuz. Size bir küsüratlı sayı lazım olduğunda türünün float olduğunu, tamsayılarla işlem yaptığınızda int kullandığınızı, metin türündeki her veriyi tırnak içinde yazmanız gerektiğini ve türünün str olduğunu unutmuyorsunuz. Bu hem kodumuzda değişkenleri tanımlarken, hem de kullanırken gerekecek çok temel bir bilgi.
Bir sonraki derste buluşmak üzere hoşçakalın. Python kodlarınızı deneyebileceğiniz online siteler :
- https://www.programiz.com/python-programming/online-compiler/
- https://repl.it/languages/python3
- https://www.onlinegdb.com/online_python_compiler
Kaynakça
▪️ https://campus.datacamp.com/courses/intro-to-python-for-data-science/chapter-1-python-basics
- Python 117 - Numpy 2 / 11.07.2021
- Python 116 - Pythonu online ve kütüphaneleriyle birlikte kullanmak / 04.07.2021
- Python 115 - Pythonda Kütüphaneler ve NumPy / 27.06.2021
- Python 114 - Alıştırmalar / 20.06.2021
- Python 113 - String İşlemleri / 13.06.2021
- Python 112 - For ve While döngüleri / 30.05.2021
- Python 111 - Özet / 23.05.2021
- Python 110 - Fonksiyonlar / 29.03.2021
- Python 109 - Slicing / 28.02.2021