Python Programlamaya Kapsamlı Giriş
Python; okunabilirliği, geniş kütüphane ekosistemi ve çok yönlülüğüyle veri
biliminden web geliştirmeye, otomasyon görevlerinden yapay zekaya kadar geniş bir
yelpazede kullanılan modern bir programlama dilidir. Bu rehber, sıfırdan başlayan bir
kişiyi temel kavramlardan nesne yönelimli programlamaya kadar adım adım
götürmektedir.
1. Python Neden?
1.1 Güçlü Yönleri
• Sezgisel, okunabilir sözdizimi — İngilizce'ye yakın
• Hızlı prototipleme — aynı işi Java'dan 3-5 kat daha az kodla yapabilirsiniz
• Dev kütüphane ekosistemi: NumPy, Pandas, TensorFlow, Django, Flask
• Aktif topluluk ve bol kaynak
• Veri bilimi, ML/AI alanında sektör standardı
• Ücretsiz ve açık kaynak
1.2 Kullanım Alanları
Alan Öne Çıkan Kütüphane/Framework
Veri Analizi Pandas, NumPy, Matplotlib
Makine Öğrenmesi Scikit-learn, TensorFlow, PyTorch
Web Geliştirme Django, Flask, FastAPI
Otomasyon Selenium, PyAutoGUI, schedule
API Geliştirme FastAPI, Flask-RESTful
Siber Güvenlik Scapy, Requests, Paramiko
2. Değişkenler ve Veri Tipleri
2.1 Temel Veri Tipleri
Python'da değişkenlerin tipi belirtilmez; Python tipi otomatik olarak belirler (dinamik
tiplemeli dil).
Tam sayı (int): yas = 25
Ondalıklı sayı (float): boy = 1.75
Metin (str): isim = 'Ahmet'
Mantıksal (bool): aktif = True
Boş değer (None): veri = None
2.2 Veri Yapıları
Yapı Özellik Örnek
list Sıralı, değiştirilebilir meyveler = ['elma', 'armut']
tuple Sıralı, değiştirilemez koordinat = (41.0, 28.9)
dict Anahtar-değer çifti kisi = {'ad': 'Ali', 'yas': 30}
set Benzersiz elemanlar renkler = {'kırmızı', 'mavi'}
3. Kontrol Akışı
3.1 Koşullu İfadeler
if-elif-else yapısı Python'da girintiye dayalıdır — süslü parantez kullanılmaz.
not = 85
if not >= 90:
print('AA')
elif not >= 70:
print('BB')
else:
print('Kaldı')
3.2 Döngüler
for döngüsü — iterable üzerinde gezinim:
for meyve in ['elma', 'armut', 'kiraz']:
print(meyve)
while döngüsü — koşul sağlandığı sürece:
sayac = 0
while sayac < 5:
print(sayac)
sayac += 1
4. Fonksiyonlar
4.1 Temel Fonksiyon Tanımı
Python'da fonksiyonlar def anahtar kelimesiyle tanımlanır:
def selamlama(ad, unvan='Bay/Bayan'):
mesaj = f'Merhaba, {unvan} {ad}!'
return mesaj
print(selamlama('Ahmet', 'Dr.')) # Merhaba, Dr. Ahmet!
4.2 Lambda Fonksiyonlar
Tek satırlık anonim fonksiyonlardır; basit dönüşümler için kullanışlıdır.
kare = lambda x: x ** 2
sayilar = [1, 2, 3, 4, 5]
kareler = list(map(kare, sayilar)) # [1, 4, 9, 16, 25]
5. Nesne Yönelimli Programlama
5.1 Sınıf Tanımlama
class Araba:
def __init__(self, marka, model, yil):
[Link] = marka
[Link] = model
[Link] = yil
def tanitim(self):
return f'{[Link]} {[Link]} {[Link]}'
benim_arabam = Araba('Toyota', 'Corolla', 2023)
print(benim_arabam.tanitim()) # 2023 Toyota Corolla
5.2 Kalıtım
class ElektrikliAraba(Araba):
def __init__(self, marka, model, yil, menzil):
super().__init__(marka, model, yil)
[Link] = menzil
def tanitim(self):
temel = super().tanitim()
return f'{temel} | Menzil: {[Link]} km'
6. Dosya İşlemleri
Dosya okuma ve yazma Python'da context manager (with) yapısıyla güvenli biçimde
yapılır:
# Dosya yazma
with open('[Link]', 'w', encoding='utf-8') as dosya:
[Link]('Merhaba Dünya\n')
# Dosya okuma
with open('[Link]', 'r', encoding='utf-8') as dosya:
icerik = [Link]()
7. Hata Yönetimi
try-except bloğu beklenmedik hatalar için güvenlik ağı işlevi görür:
try:
sayi = int(input('Bir sayı girin: '))
sonuc = 100 / sayi
except ValueError:
print('Geçersiz giriş — lütfen sayı girin')
except ZeroDivisionError:
print('Sıfıra bölme hatası!')
finally:
print('İşlem tamamlandı')
8. Popüler Kütüphaneler
8.1 Pandas — Veri Analizi
import pandas as pd
df = pd.read_csv('[Link]')
print([Link]()) # Temel istatistikler
df_filtre = df[df['gelir'] > 50000] # Filtreleme
[Link]('bolge')['satis'].sum() # Gruplama
8.2 Requests — HTTP İstekleri
import requests
yanit = [Link]('[Link]
veri = [Link]()
print(veri['name'], '|', veri['public_repos'], 'repo')
Sonuç ve İleri Adımlar
• [Link]'daki resmi dokümantasyonu inceleyin
• Kaggle'da veri bilimi pratik yapın
• GitHub'da açık kaynak projelere katkı sağlayın
• Kendi mini projenizi oluşturun — öğrenmenin en iyi yolu
• Real Python ([Link]) kapsamlı öğretici içerikler için