Python Programlama Nedir? Uygulama Örnekleri
Contents
Son dönemde birçok yazılım aracını görüyoruz. Python ise en popüler yazılım dillerinden biri olarak öne çıkıyor. Havacılıktan, otomotive bir çok alanda yaygınlaşan bu yazılım diline sizlerle beraber daha yakından bakmak istedik. 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.
İlginizi Çekebilir: Linux Komutları
PYTHON Programlama Nedir?
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 Programlama?
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 PopularitY of Programming Language) listesine bakalım. [2]
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 ile Neler Yapılabilir?
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.
İlginizi Çekebilir: Elektrik Sayacı
Yukarıda saydığımız alanlar ve daha fazlası için çok geniş Python kütüphaneleri mevcuttur.
Python ile Geliştirilmiş Örnek Projeler:
Reddit, Django, Portage, Sage, GNU Mailman, Maya, Blender, Inkscape
Daha fazlası için “30 Amazing Python Projects for the Past Year (v.2018)” makalesini inceleyebilirsiniz.
Yeni Başlayanlar İçin PYTHON Komutları
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://tutorial.djangogirls.org/tr/python_installation/ adresinden ulaşabiliriz.
Aşağıdaki en çok kullanılan editörlerden bir tanesini seçebilirsiniz:
Jupyter, PyCharm, Spyder, Visual Studio Code, Sublime Text, Eclipse + PyDev, Atom, Visual Studio
Kodlamaya başlamadan önce Python veri tipleri, tip dönüşümleri ve operatörleri bilmemiz gerekiyor.[3][4]
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
Daha fazla örnek için şu sayfayı ziyaret edebilirsiniz:
http://nbviewer.jupyter.org/github/mustafamuratcoskun/Sifirdan-Ileri-Seviyeye-Python-Programlama/tree/master/
PYTHON İleri Seviye Programlama
İleri Seviye Veri Yapıları ve Objeler, Fonksiyonların İleri Seviye Özellikleri ve Decoratorlar, Iteratorler ve Generatorlar, İleri Seviye Modüller, PyQT Arayüz Geliştirme gibi konuları da içerisinde barındıran “Python ile Programlama: Sıfırdan İleri Seviyeye Python 3” isimli Udemy eğitimini tavsiye ederim.
Ayrıca, Harita Yönetimi, Veri Analizi (Numpy ve Pandas), Makine Öğrenimi, Web Programlama (Django) gibi konularını da içeren “A’dan Z’ye Python Dili ve Makine Öğrenmesi için Python Kursu” isimli Udemy eğitimini de tavsiye ederim.
İlginizi Çekebilir: Akım Trafosu
Son olarak ücretsiz Python dersleri için şu sayfayı ziyaret edebilirsiniz:
REFERANSLAR
[2] https://medium.com/yaz%C4%B1l%C4%B1ma-dair/pyhton-programlama-dili-neden-giderek-pop%C3%BClaritesini-artt%C4%B1r%C4%B1yor-ab14b1da39c6
[3] https://orulluogluyusuf.wordpress.com/2016/07/08/pythonda-degiskenler-veri-tipleri/
[4] https://baykoch.github.io/blog/python/python3-veri-tipleri-say%C4%B1lar/
[5] https://www.yazilimkodlama.com/programlama/python-ornekleri/
Python programlama hakkında sıkça sorulan sorular
Python programlama dili nedir?
Python programlama uzun yıllardır var olan ancak verinin öne çıkması ile yeniden popülerleşen nesne tabanlı bir yazılım dilidir.
Python programlama dili ne işe yarar?
Python programlama dili hem nesne tabanlı hem de fonksiyonel desteği olduğu için projelerde ön olana çıkmıştır.
Python hangi mesleklerde kullanılır?
Python dili web uygulamalarından yapay zeka ve akıllı veri işlemeye hatta uzay havacılığa birçok bilim dalında başarı ile kullanılıyor.
Python programlama dili yazılımcı olmak yeterli mi?
Python önemli bir yazılım dili olsa da uygulama göre ihtiyaç duyacağız programlama dili değişecektir.
eren Yorum
Fırat Doğan
says:son program parçasında şöyle bir eksiklik gördüm hocam,
metin içinde “ğ” harfi varsa var, yoksa yok diyecek demişsiniz. Fakat,
sayac = 0
for ch in str:
if ch == ‘ğ’:
sayac = sayac + 1
diye yazılmış, bu da şu anlama geliyor, içerisinde bir adet “ğ” harfi olursa true döndürecek. eğer ki ağlamağa gibi anlamsız ama içerisinde birden fazla “ğ” harif olursa sayac değeri 1 den farklı olacağı için false değeri dönecek ve sonuçta
print(‘ğ karakteri metin içinde yok’) sonucunu verecektir.
if sayac == 1: yerine if sayac !=0: dersek işlem doğru olackatır.
iyi çalışmalar.