Öncelikle merhaba,
Ben Metehan. Programlama ile yaklaşık iki senedir ilgileniyorum ancak Python ile tanışmam 1.5 sene önceydi. 1.5 sene içerisinde çeşitli programlar yazdım ve bu programları çeşitli yerlerde kullandım. Birlikte Python dilinin söz dizimini öğrenip çeşitli programlar yazacağız. Program yazmaya başlamak için programlamayı öğrenmeliyiz. Bugün nereye baksak programlama dillerinden bahsedildiğini görüyoruz. Gerek televizyonda gerek İnternet’de gerek okulların yaptığı çeşitli reklamlarda öğrencilere sunulan programlama derslerinden bahsediliyor.
Peki, programlama nedir? Ne işe yarar?
Günlük hayatta karşılaştığımız sorunları makineler yardımıyla çözmek için sorunu makineye anlayacağı dilden anlatmamız gerekir. Makinenin anlayacağı dil ise programlama ile oluşturulur. Kısacası programlama makinenin yapacağı işleri makineye sırasıyla anlatmaktır. Programlama sayesinde sorunlara birden fazla çözüm bulmaya başlayacak ve bu çözümlerden en hızlı olanını kullanmayı öğreneceğiz.
Onlarca programlama dili varken neden Python tercih edilmeli?
1- Konuşma diline en yakın programlama dillerinden birisi. Dolayısıyla anlaşılması ve öğrenmesi çok kolay.
2- Çeşitli modüllere sahip. Modüller sayesinde farklı programlar yazılabilir.
3- Dünya üzerinde en çok tercih edilen programlama dillerinden bir tanesi.
Python 2000 yılında yayınlanmış(2.0 sürümü), durmadan güncellenen, yeni özellikler kazanan bir dildir. 2x sürümleriyle çıktığı yola şuan 3x sürümleriyle devam ediyor. 2x ve 3x sürümü ile de kod yazılabilir, bu kodlar diğer sürümde çalıştırılabilir. 2x ile 3x sürümleri arasındaki fark sadece bazı yazım değişiklikleridir. Size Python 3x sürümü söz dizimini anlatacağım. Ancak 3x sürümü ile yazdığımız kodları isterseniz ufak değişikliklerle siz de 2x sürümlerine uyarlayabilirsiniz. Python’ı Windows üzerinden anlatacağım. Ama önce Python’ı bilgisayarımıza kuralım.
Üsteki linkten bilgisayarınız için uygun olan dosyayı indirebilirsiniz. Eğer hangisinin bilgisayarınız için uygun olduğunu biliyorsanız alttaki paragrafı okumanıza gerek yok ve direkt kurulum kısmına geçebilirsiniz.
Öncelikle bilgisayarımızın işletim sisteminin 32 bit mi 64 bit mi olduğunu öğrenmeliyiz. Bunun için masaüstüne gelip, shift tuşuna basılı tutarken masaüstünde boş olan bir kısma sağ tıklayıp, “komut penceresini burada aç” veya “Powershell penceresini buradan açın”a tıklayın ardından gelen komut penceresine, wmic os get osarchitecture yazın. Size bir cevap döndürmüş olmalı. 64 bit ise size verdiğim linkte bulunan windows x86-64 executable installer‘a tıklayarak dosyamızı indirelim. Eğer 32 bit ise Windows x86 executable installer‘a tıklayarak indirelim.
Kurulum
İndirdiğimiz dosyayı açalım ve adımları dikkatlice uygulayalım.
1. Birinci resmin alt kısmında bulunan “Add Python 3.6 to PATH” seçeneğini onaylayalım daha sonra “Customize installation” a tıklayalım.
2. Gelen pencerede değişiklik yapmadan “Next” butonuna tıklayalım.
3. Gelen pencerede üstte bulunan bütün seçenekleri işaretleyelim. Alt kısımda bulunan kutucuğa Python dosyalarına rahatlıkla ulaşabilmek için “C:\Python36” yazalım. En son “Install”a tıklayarak kurulumun baslamasnı bekliyoruz.
4. Kurulumun doğru yapılıp yapılmadığını kontrol etmek için masaüstüne gelip “Shift” tuşuna basılı tutarak ekranda boş bir yere sağ tıklayıp komut penceresini veya powershell penceresini açıyoruz. Daha sonra gelen pencereye python yazıyoruz. 4. resimdeki gibi bir mesaj döndürmüş olmalı. Bu yazı Python’ın etkileşimli kabuğuna ait bir yazı. Kuruluma başlarken seçtiğimiz “Add Python 3.6 to PATH” seçeneği sayesinde Python’ın etkileşimli kabuğuna bilgisayardaki herhangi bir klasör içerisinden erişebiliyoruz. Etkileşimli kabuğa erişmek için aynı zamanda Python’ı yüklediğimiz klasöre gidip “Python” dosyasını çalıştırarak açabiliriz.
Etkileşimli kabuğu nasıl açacağımızı da öğrendiğimize göre artık yavaş yavaş başlayalım.
İlk kodumuzu etkileşimli kabuğa yazıyoruz.
>>>“Merhaba Dünya!”
Tırnak işaretlerinin olması gerekiyor, yazdığınızdan emin olun. Başta bulunan 3 adet > işareti oraya kod yazabileceğimiz anlamına geliyor. “Merhaba Dünya!” yazdıktan sonra enter tuşuna basarsak bize ‘Merhaba Dünya!’ şeklinde bir dönüş yapmış olmalı.
Yazdığımız ilk kodda tırnak işaretlerini koymazsak bize hata döndürür. Bu hata “SyntaxError: invalid syntax” hatasıdır yani söz dizimi hatasıdır. Gelecek derslerde hataları daha detaylı inceleyeceğiz.
Karakter dizileri
Ufaktan veri tiplerine giriş yapalım. Python’da birden fazla veri tipi vardır. Bunlar karakter dizileri, sayılar, listeler vb..
Karakter dizilerinin gösterimi tırnak işaretleri arasında yapılır yani “elma”, “kullanıcı”, “programlama”, “donanimplus” bunların hepsi birer karakter dizisidir. Bunları etkileşimli kabukta teker teker yazacak olursak;
>>> "elma"
'elma'
>>> "kullanici"
'kullanici'
>>> "programlama"
'programlama'
>>> "donanimplus"
'donanimplus'
“elma”, “kullanıcı”, “programlama”, “donanımplus” birer karakter dizisidir. Bunu doğrulamak için,
>>>type("elma")
yazdığımızda
<class 'str'>
böyle bir cevap alıyoruz. “elma” verisinin sınıfının ‘str’ yani string olduğunu anlıyoruz. String karakter dizisi demektir. Verimizin tipini kontrol etmek için type() fonksiyonunu kullandık. type() fonksiyonunun kullanımı oldukça basittir. type(test edilecek veri) yazmak yeterlidir. Fonksiyon kelimesi aklınızı şuan kartıştırmasın. Gelecek derslerde daha iyi anlayacaksınız.
2 karakter dizisini veya daha fazlasını toplayabilirsiniz
>>> "www"+"."+"donanimplus"+"."+"com"
'www.donanimplus.com'
+ işareti karakter dizileriyle birlikte kullanıldığında karakter dizilerini birleştirir. Bunu çok yerde kullanabilirsiniz.
Karakter dizileriyle + işaretinin yanı sıra * işaretini de kullanabilirsiniz.
>>> "donanimplus "*5
'donanimplus donanimplus donanimplus donanimplus donanimplus '
Yüzlerce veya binlerce kez yazmanız gereken bir şeyi şuan ki kod bilgimizle saniyeler içerisinde yazabiliyoruz. Bu programlamanın gücüdür.
Sayılar
Python’da karakter dizilerinin yanında bir de sayılar vardır. Sayılarla günlük yaşamda yaptığımız hesaplamaları yapabiliriz.
>>> 5+5
10
>>> 8-5
3
>>> 2*8
16
>>> 2/7
0.2857142857142857
>>> 2**4
16
>>> 45//8
5
İşaret | Anlamı | İşaret | Anlamı |
+ | Toplama | / | Bölme |
– | Çıkarma | ** | Üs alma |
* | Çarpma | % | Kalan bulma |
// | Bölmede ki bölüm sayısı |
Python’ın etkileşimli kabuğu o kadar güçlüdür ki 999**999 yazdığınızda anında cevap döndürür. Buradan etkileşimli kabuğun son derece güçlü bir hesap makinesi olduğunu görüyoruz.
Değişkenler
Matematik derslerinde yaptığımız gibi yapıyoruz Python’da da.
>>> a = 7
a harfi değişkeni temsil ederken 7 sayısı a değişkeninin bunda sonra taşıyacağı değeri temsil eder. Yani ne zaman a yazarsak Python bunun 7 olduğunu anlayacak.
>>> a = 7
>>> a
7
>>> b = 8
>>> a + b
15
Değişkenleri kullanmamızın nedeni bazen hafızada veri tutmak isteriz bunun için değişkenler son derece idealdir. Değişken değerleri her şey olabilir karakter dizisi, sayı veya liste. Ancak değişken adları her şey olamaz. Değişken adı seçerken baz kurallara dikkat etmemiz gerekir.
Değişken adları aritmetik öperatörlerle başlayamaz. Yani şu kullanım yanlıştır:
>>> -sayı = 5
Değişken adları bir sayı ile başlayamaz. Yani şu kullanım yanlıştır:
>>> 5ekmekfiyatı = 5
Değişken adları ya bir alfabe harfiyle ya da _ işaretiyle başlamalıdır
>>> sayı = 5
>>> _sayı = 5
Son olarak,
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
bu kelimelerden hiçbirini değişken adı olarak kullanamazsınız. Gözünüze çok görünmesinler :). Hepsinin Python’da bir görevi var ve siz bu listeyi ezberlemek zorunda değilsiniz.
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
Gördüğünüz üzere bunların hepsi önceden belirlenmiş. Bu listede kaç adet kelime var biliyor musunuz? Ben bilmiyorum. Hadi öğrenelim. Nasıl öğreneceğiz? Teker teker sayacak mıyız? Tabii ki hayır.
>>> len(keyword.kwlist)
33
33 tane kelime varmış.
Burada len(), type() fonksiyonu gibi bir fonksiyondur. İçerisine yazılan veri tipinin kaç adet alt veriye sahip olduğunu döndürür. len() fonksiyonu içerisine karakter dizisi koyarsanız size karakter dizisinin kaç karakterden oluştuğunu döndürür.
import keyword yazdığımızda, kabuğa keyword modülünü aktarmış oluyoruz. Bu sayede keyword modülünün barındırdığı çeşitli fonksiyonları kullanabiliyoruz.
Bu derste genel olarak etkileşimli kabuk üzerinde yapılabilecekleri, değişkenleri, matematiksel işleçleri ve 2 veri tipini gördük. Bunları pekiştirmek için bir uygulama yazalım.
Uygulama
Her gün 2 TL gidiş ve 2 TL dönüş parası veren birisi haftada 5 gün çalışıyorsa 1 aylık yol masrafı ne kadardır? 1 ay 4 hafta kabul edilecek.
>>> gidiş_ücreti = 2
>>> dönüş_ücreti = 2
>>> hafta_sayısı = 4
>>> bir_haftada_harcanan_para = (gidiş_ücreti + dönüş_ücreti)*5
>>> toplam_maliyet = bir_haftada_harcanan_para * 4
>>> toplam_maliyet
80
Bir daha ki derste görüşmek üzere.
Yorum Yap