Python Programlama Ve Uygulama Örnekleri
Yeni başlayanlar için Python programlama dili nedir? Neden Python? Python ile neler yapılabilir? sorularına yanıtlar bulduğumuz, örnek Python kodlarını incelediğimiz ve ileri seviye Python programlama için tavsiyelerin yer aldığı makalemize başlıyoruz.
PYTHON NEDİR?
Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir. [1]
Python, Guido van Rossum tarafından 1990 yılında Amsterdam’da geliştirilmeye başlanmış ve günümüzde Python Yazılım Vakfı (Python Software Foundation) çevresinde toplanan gönüllülerin çabalarıyla gelişimi sürdürülmektedir.
Girintilere dayalı basit sözdizimi (Syntax), yeni başlayanlar için dilin öğrenilmesini ve anlaşılabilir olmasını kolaylaştırır.
Birçok platformda çalışabilir. (Unix, Linux, Mac, Windows, Amiga, Symbian ve daha fazlası.)
NEDEN PYTHON?
Kullanılacak onlarca programlama dili varken neden Python? Sorusuna en iyi cevabı Python’a ait aşağıda sıraladığımız avantajlar ile verelim.
- Kolay yazılabilir, okunabilir ve anlaşılabilir bir sözdizimine (Syntax) sahip olması.
- Hemen hemen bütün platformlarda çalışabilir olması.
- Nesne tabanlı programlamaya elverişli olması.
- Birçok alanda güçlü kütüphaneleri olması. (SciPy, NumPy, Matplotlib, SageMath, Deepy, Caffe, OpenCV, Zerynth, Orange, PyData)
- Büyük firmalar tarafından kullanılması ve desteklenmesi. (Google, Wikipedia, Yahoo, CERN, NASA, Reddit)
- Popülaritesinin ve kullanıcı sayısının sürekli artması.
Örnek ve istatistiklerle bu avantajları detaylandırabiliriz.
Öncelikle C# ve Python programlama dillerini karşılaştırarak aralarındaki sözdizimi farkını daha net görelim.
Örneğin her iki dilde “Merhaba Dünya!” çıktısı almaya çalışalım.
C# Sözdizimi
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Merhaba Dünya!"); } } }
Python Sözdizimi
print("Merhaba Dünya!")
Aradaki sözdizimi farkını ve Python avantajını daha net görüyoruz.
Şimdi ise Google aramalarında programlama dillerinin öğrenimine dayalı Google Trends ham verileri kullanılarak oluşturulan Programlama Dillerinin Popülerliği (PYPL POPULARİTY OF PROGRAMMİNG LANGUAGE) listesine bakalım.
Dünya çapında, Aralık 2018 ile bir yıl öncesinin karşılaştırması:
Aşağıdaki istatistik Aralık 2018 itibariyle dünyanın en popüler dilinin Python olduğunu ve son 5 yılda %15.4 ile en çok yükselen dil olduğunu PHP dilinin ise %-6.3 ile popülaritesi en çok düşen dil olduğu belirtiliyor.
Evet, işte tüm bu avantajlardan dolayı Python!
PYTHON İLE NELER YAPILABİLİR?
Python, çok fazla alanda kullanılan bir programlama dilidir. Python ile web uygulamaları, masaüstü uygulamalar, oyun geliştirmesi, mobil uygulama, ağ programlama, veri madenciliği, veri analizi, makine öğrenimi, yapay zekâ uygulamaları, bilimsel hesaplama uygulamaları, nesnelerin interneti (IoT) gibi çeşitli alanlarda uygulamalar geliştirilebilir.
Yukarıda saydığımız alanlar ve daha fazlası için çok geniş Python kütüphaneleri mevcuttur.
Python ile Geliştirilmiş Örnek Projeler:
REDDİT, DJANGO, PORTAGE, SAGE, GNU MAİLMAN, MAYA, BLENDER, INKSCAPE
Daha fazlası için “30 AMAZİNG PYTHON PROJECTS FOR THE PAST YEAR (V.2018)” makalesini inceleyebilirsiniz.
YENİ BAŞLAYANLAR İÇİN PYTHON POGRAMLAMA
Python Kurulumu
Python ile programlamaya başlamadan önce bilgisayarımıza Python kurmamız gerekiyor.
Python Software Foundation resmi sitesi olan HTTPS://WWW.PYTHON.ORG/DOWNLOADS/ adresinden işletim sistemimize uygun Python sürümünü indirebiliriz.
Windows, OS X, Linux ve diğer işletim sistemleri için detaylı kurulum notlarına HTTPS://TUTORİAL.DJANGOGİRLS.ORG/TR/PYTHON_İNSTALLATİON/ adresinden ulaşabiliriz.
Aşağıdaki en çok kullanılan editörlerden bir tanesini seçebilirsiniz:
JUPYTER, PYCHARM, SPYDER, VİSUAL STUDİO CODE, SUBLİME TEXT, ECLİPSE + PYDEV, ATOM, VİSUAL STUDİO
Kodlamaya başlamadan önce Python veri tipleri, tip dönüşümleri ve operatörleri bilmemiz gerekiyor.
Python Veri Tipleri
Veri Tipi | Açıklama | Örnek |
---|---|---|
Integer – int | Tam sayı veri tipidir. 32 bittir. ± 2147483647 arasındaki tam sayıları tanımlar. | 25 |
Long integer – long int | Tam sayı veri tipidir. Integer veri tipinin daha geniş aralıklı olanıdır. 64 bittir. | 9876543210 |
Float – float | Kayan noktalı sayı veri tipi. 64 bit çift hassasiyetlidir. Ondalıklı sayıları tanımlamada kullanılır. | 3.14 |
Complex – complex | Karmaşık sayı veri tipidir. | a+bj |
String – string | Karakter dizilerini göstermek için kullanılırlar. Çift tırnak, tek tırnak veya iç tırnak içinde gösterilirler. | ‘Merhaba’, “””Dünya”””, “Aydoğan’ın” |
List – list | Farklı nesneleri tanımlamakta görev alır. Köşeli parantezler [] içinde gösterilirler. Farklı veri tiplerini barındırabilir. İçeriği değiştirilebilir. | [3, [4, ‘four’], 4.5, “Aydoğan”] |
Tuple – tuple | Listelere benzer yapıdadır. Normal parantezler () içinde gösterilirler. İçerikleri değiştirilemez. | (1, ‘test’, 4, ‘U’) , tuple(‘test’) |
Dictionary – dictionary | Sözlük veri tipidir. Tırnaklı parantez {} içine tanımlanır. | {‘food’: ‘adana kebap’, ‘drink’: ‘acılı şalgam’} |
Python değişken tanımlarında, diğer dillerde olduğu gibi veri tipi belirtmeye gerek yoktur. Python, atama yapıldığı anda değişkenin tipini otomatik olarak belirler.
Örneğin, a = 2 yazıldığında a’nın veri tipi integer olarak belirlenir.
Python Tip Dönüşümleri
Fonksiyon | Açıklama |
---|---|
int(x [,taban]) | x değişkenini belirtilen taban türüne çevirir. |
long(x [,taban] ) | x değişkeninin belirtilen taban türüne dönüştürür. |
float(x) | x değişkenini ondalıklı türe çevirir. |
complex(real [,imag]) | Kompleks sayıya çevirir. |
str(x) | x değişkenini string türüne çevirir. |
repr(x) | Bir a nesnesinin yazdırılabilir bir temsilini içeren bir dizgi döndürür. |
eval(str) | String dizgesinden bir nesne döndürür.İçeriği değiştirilebilir. |
tuple(x) | x değişkenini tuple türüne çevirir.İçerikleri değiştirilemez. |
list(x) | x değişkenini list türüne çevirir. |
set(x) | x nesnesini ayar nesnesine çevirir. |
dict(x) | x nesnesini dictionary nesnesine çevirir. x (key,value) tipinde olmalıdır. |
frozenset(x) | x nesnesini frozenset nesnesine çevirir. |
chr(x) | tam sayıyı karaktere çevirir. |
unichr(x) | tam sayıyı unicode olarak dönüştürür. |
ord(x) | Tek karakteri tam sayıya çevirir. |
hex(x) | Tam sayıyı hexadecimal değere çevirir. |
oct(x) | Tam sayıyı oktal değere çevirir. |
Python Operatörler:
Operatör | Açıklama | Örnek |
---|---|---|
+ | Operatörün sağ ve solundaki değerleri toplar. | x = y + z |
– | Operatörün sağ ve solundaki değerleri çıkarır. | x = y – z |
* | Operatörün sağ ve solundaki değerleri birbiri ile çarpar. | x = y * z |
/ | y değerini z değerine böler. | x = y / z |
% | y değerini z’ye bölümünden kalanı verir. | x = y % z |
** | y değerinin z kez çarpma işlemidir. | x = y ** z |
// | Bölme işlemini sonucunu tam sayıya yuvarlar. | x = y // z |
Hazırız artık örnek kodlara başlayabiliriz.
Python Örnek Kodlar
#1: Ekrana “Merhaba Dünya” yazdıran Python örneği print("Merhaba Dünya!")
>>> Çıktı:
Merhaba Dünya!
#2: Yorum ve açıklama satırı örneği a=2
#Tek satırlı yorum ve açıklamalar “#” işareti ile yazılır. """ Çok satırlı yorum ve açıklamalar ise 3 adet çift veya tek tırnakla başlar ve aynı işaretle sonlandırılır. Yorum satırlarındaki kodlar işleme alınmaz. a = 10 """ print(a)
>>> Çıktı:
2
#3: Kullanıcının ismini alarak "Merhaba (kullanıcı ismi)" yazdıran Python örneği isim = input('İsminizi Girin : ') print("Merhaba " + isim)
>>> Çıktı:
İsminizi Girin : Aydoğan
Merhaba Aydoğan
#4: Girilen 2 sayıyı toplayan Python örneği sayi1 = input('1. Sayı : ') sayi2 = input('2. Sayı : ') toplam = float(sayi1) + float(sayi2) print("Toplam :{0} ".format(toplam))
>>> Çıktı:
1. Sayı : 4
2. Sayı : 12.5
Toplam :16.5
#5: Girilen 2 sayının ortalamasını bulan Python örneği sayi1 = input('1. Sayı : ') sayi2 = input('2. Sayı : ') ortalama = (int(sayi1) + int(sayi2)) / 2 print("Ortalama : {0} ".format(ortalama))
>>> Çıktı:
1. Sayı : 7
2. Sayı : 38
Ortalama : 22.5
#6: Girilen sayının asal sayı mı değil mi olduğunu bulan Python örneği sayac = 0 sayi = input('Sayı: ') for i in range(2, int(sayi)): if(int(sayi) % i == 0): sayac += 1 break if(sayac != 0): print("Sayı Asal Değil") else: print("Sayı Asal")
>>> Çıktı:
Sayı: 7
Sayı Asal
#7: Girilen vize ve final notu ortalaması hesaplayan Python örneği vize = input('Vize Notunuz : ') final = input('Final Notunuz : ') ortalama = (float(vize) * 0.3) + (float(final) * 0.7) print("Ortalama :{0} ".format(ortalama))
>>> Çıktı:
Vize Notunuz : 35
Final Notunuz : 75
Ortalama :63.0
#8: Girilen 3 yazılı notunun ortalamasını bulan Python örneği y1 = input('1. Yazılı : ') y2 = input('2. Yazılı : ') y3 = input('3. Yazılı : ') ortalama = (float(y1) + float(y2) + float(y3)) / 3 print("Ortalama :{0} ".format(ortalama))
>>> Çıktı:
1. Yazılı : 40
2. Yazılı : 55
3. Yazılı : 70
Ortalama :55.0
#9: Yazılı ortalaması girilen öğrencinin sınıf geçme durumunu (GEÇTİ – KALDI) gösteren Python örneği ort = input('Ortalamanızı Girin : ') if(int(ort) >= 50): print("Geçtiniz") else: print("Kaldınız")
>>> Çıktı:
Ortalamanızı Girin : 53
Geçtiniz
#10: Girilen sayının tek mi Çift mi olduğunu bulan Python örneği. sayi = input('Sayı : ') if(int(sayi) % 2 == 0): print("Sayı Çift") else: print("Sayı Tek")
>>> Çıktı:
Sayı : 33
Sayı Tek
#11: Girilen sayının pozitif, negatif, ya da sıfır olduğunu bulan Python örneği sayi = input('Sayı : ') if(int(sayi) < 0): print("Sayı Negatif") elif(int(sayi) > 0): print("Sayı Pozitif") else: print("Sayı Sıfır")
>>> Çıktı:
Sayı : -42
Sayı Negatif
#12: Yaşı girilen kişinin ehliyet alıp alamayacağını gösteren Python örneği yas = input('Yaşınız : ') if(int(yas) < 18): print("Yaşınız Ehliyet almak için uygun değil") else: print("Yaşınız Ehliyet almak için uygun")
>>> Çıktı: Yaşınız : 17
Yaşınız Ehliyet almak için uygun değil
#13: 1-100 arası sayıları ekranda listeleyen Python örneği. for i in range(1, 101): print(i)
>>> Çıktı:
1
2
3…
…100
#14: 1-100 arası çift sayıları listeleyen Python örneği. for i in range(1, 101): if i % 2 == 0: print(i)
>>> Çıktı:
2
4
6…
…100
#15: 1-100 arası tek sayıları listeleyen Python örneği for i in range(1, 101): if i % 2 != 0: print(i)
>>> Çıktı:
1
3
5…
…99
#16: Kenarları girilen dikdörtgenin alanı ve çevresini bulan Python örneği kisa = input('Kısa Kenar : ') uzun = input('Uzun Kenar : ') alan = int(kisa) * int(uzun) cevre = 2 * (int(kisa) + int(uzun)) print("Alan : {0}".format(alan)) print("Çevre : {0}".format(cevre)) print(i)
>>> Çıktı:
Kısa Kenar : 6
Uzun Kenar : 10
Alan : 60
Çevre : 32
#17: Kullanıcın girdiği iki sayı arasındaki sayıların toplamını gösteren Python örneği. toplam = 0 sayi1 = input('1. Sayı: ') sayi2 = input('2. Sayı: ') for i in range(int(sayi1) + 1, int(sayi2)): toplam += i print("{0} ile {1} arasındaki sayıların toplamı : {2}".format(sayi1, sayi2, toplam))
>>> Çıktı:
1. Sayı: 12
2. Sayı: 24
12 ile 24 arasındaki sayıların toplamı : 198
#18: Maaşı ve zam oranı girilen işçinin zamlı maaşını hesaplayarak ekranda gösteren Python örneği: yeniMaas = 0 maas = input("Maaşı Gir : ") zam = input("Zam Oranı(%) : ") yeniMaas = int(maas) + (int(maas) * int(zam) / 100) print("Zamlı Maaş :", yeniMaas)
>>> Çıktı:
Maaşı Gir : 2000
Zam Oranı(%) : 30
Zamlı Maaş : 2600.0
#19: Fonksiyon kullanarak yarıçapı girilen dairenin alanını hesaplayan Python örneği: def daireAlan(yaricap): alan = float(yaricap) * float(yaricap) * 3.14 print ("Alan :", alan) return alan r = input("Yarıçapı Gir :") daireAlan(r)
>>> Çıktı:
Yarıçapı Gir :5
Alan: 78.5
#20: Python ile sayı tahmin oyunu örneği. from random import randint rand = randint(1, 100) sayac = 0 while True: sayac += 1 sayi = int(input("1 ile 100 arasında değer girin (0 çıkış):")) if(sayi == 0): print("Oyunu İptal Ettiniz") break elif sayi < rand: print("Daha Yüksek Bir Sayı Girin.") continue elif sayi > rand: print("Daha Düşük Bir Sayı Girin.") continue else: print("Rastele seçilen sayı {0}!".format(rand)) print("Tahmin sayınız {0}".format(sayac))
>>> Çıktı:
1 ile 100 arasında değer girin (0 çıkış):6
Daha Yüksek Bir Sayı Girin.
1 ile 100 arasında değer girin (0 çıkış):15
Daha Yüksek Bir Sayı Girin.
1 ile 100 arasında değer girin (0 çıkış):95
Daha Düşük Bir Sayı Girin.
1 ile 100 arasında değer girin (0 çıkış):92
Daha Yüksek Bir Sayı Girin.
1 ile 100 arasında değer girin (0 çıkış):93
Rastele seçilen sayı 93!
Tahmin sayınız 5
1 ile 100 arasında değer girin (0 çıkış):0
Oyunu İptal Ettiniz
#21: Bir string içerisinde belirlenen bir karakterin olup olmadığını kontrol eden Python örneği. Kontrol etme işlemi fonksiyon içinde yapılmıştır. def kontrol(str): sayac = 0 for ch in str: if ch == 'ğ': sayac = sayac + 1 if sayac == 1: return True else: return False metin = input('Metin : ') if(kontrol(metin) == True): print('ğ karakteri metin içinde var') else: print('ğ karakteri metin içinde yok')
>>> Çıktı:
Metin : aydoğan
ğ karakteri metin içinde var