Python dersleri
145 ücretsiz Türkçe ders. Metni burada oku, alıştırmaları uygulamada çöz.
Temel
Başlangıç
- Python nedir, nerede kullanılır?
- İlk program: print, yorum, input
- İlk kodun: birkaç dakikada başla
- Fonksiyon iskeleti: boşluğu doldur
Bilgisayarına geç
- Kuruluma genel bakış: sürüm seçimi ve araçlar
- Jupyter, Colab ve conda
- macOS ve Linux'ta Python kurulumu
- Windows'ta Python kurulumu
- VS Code ile Python
- Terminal ve komut satırı
Değerler ve metinler
Veri yapıları
- Listeler
- Demet (tuple) ve küme (set)
- Sözlükler (dict)
- İç içe veri yapıları
- match-case: yapısal desen eşleme
Akış kontrolü
- Koşullar: if / elif / else
- Döngüler: for ve while
- Kullanıcı girdisi ve tür dönüşümü
- Döngü kalıpları ve temel algoritmalar
Fonksiyonlar ve modüller
- Fonksiyonlar
- Kapsam ve modüller
- Metin biçimlendirme ve rapor üretme
- Karakterler, Unicode ve Türkçe
- Özyineleme (recursion)
Dosya ve hata
Bitirme
Orta
Pythonic kod
- Comprehension'lar (liste, sözlük, küme kurma): tek satırda dönüştür ve süz
- Yineleyiciler ve üreteçler (iterators, generators): veriyi akıtarak işle
- Fonksiyonel araçlar: lambda, map, sorted key ve kapanış (closure)
- Dekoratörler (decorators) ve bağlam yöneticileri (context managers)
- Kapsam ve kapanışlar (closures) derinlemesine
Nesne yönelimli programlama
- Sınıflar: veri ve davranışı bir arada tutmak
- Kalıtım (inheritance) ve polimorfizm
- dataclass ve tip ipuçları (type hints)
- Hata tasarımı: özel istisnalar, logging, EAFP
- Çoklu kalıtım, MRO ve mixin'ler
- Kapsülleme ve iç gözlem: property, __dict__ ve getattr
- logging: profesyonel kayıt tutma
Standart kütüphane
- collections ve itertools: hazır veri yapıları ve yineleme araçları
- Tarih ve saat: datetime, timedelta, biçimleme ve saat dilimi
- Düzenli ifadeler (regex): metinde kalıp arama ve çıkarma
- JSON ve CSV: veri alışverişinin iki ortak dili
- Standart kütüphane turu
- Python kütüphane haritası: hangi iş için hangi paket?
- İleri dosya işlemleri: ikili mod, akışlar, arşiv ve atomik yazma
- Yapılandırma dosyaları: JSON, YAML, TOML, INI ve ortam değişkenleri
Veritabanı (giriş)
Test
Modüller, paketler ve Git
Orta bitirme
- Orta bitirme projesi: Ilgaz Bank işlem analizi
- Bitirme projesi: haftalık satış raporu otomasyonu
- Bitirme projesi: Kanat Havayolları gecikme analizi
- Bitirme projesi: Lezzet Kurye kupon mutabakatı
Veri analizine giriş
- numpy: sayısal diziler ve vektörleştirme
- pandas giriş: Series ve DataFrame
- Veri temizleme: eksik, tür, metin, yinelenen
- groupby, pivot ve merge
- matplotlib ile görselleştirme
- Makine öğrenmesine giriş
Otomasyon, web ve araçlar
- İş uygulamalarıyla entegrasyon: Google Sheets, e-posta, Teams, Slack ve webhook
- PDF ve Word belgeleriyle otomasyon
- Masaüstü arayüz: tkinter ve MVC
- Komut satırı araçları: argparse, click, rich ve boru hatları
- Excel otomasyonu: openpyxl, pandas ve rapor üretimi
- HTTP ve REST API istemcisi: requests, httpx ve dayanıklı istekler
- Web kazıma: HTML, BeautifulSoup ve etik
- Ofis ve iş akışı otomasyonu
- Veri doğrulama ve pydantic v2
- Şablonla rapor üretme: string.Template ve Jinja2
- Flask ile web uygulaması
Veri yapıları ve algoritmalar
- Algoritmalar ve Big-O: arama, sıralama, iki işaretçi, dinamik programlama, BFS/DFS
- Veri yapıları: yığın, kuyruk, öncelik kuyruğu, bağlı liste, hash, ağaç ve graf
İleri
Eşzamanlılık ve performans
- asyncio: eşzamansız kod, coroutine, await ve gather
- threading, concurrent.futures ve GIL
- Profil ve optimizasyon
- Python'ın iç yapısı: nesne, referans, bellek
Mimari
- İleri OOP: dunder metotlar, ABC, Protocol ve descriptor
- Tasarım kalıpları Python'da
- İleri tip sistemi: Generic, Protocol, TypedDict ve mypy
- Metaprogramlama: type, descriptor, __init_subclass__, inspect ve ast
Web ve API
- API tasarımına giriş: HTTP, doğrulama ve ilk servis
- FastAPI ile API geliştirme
- Django'ya giriş: MVT, ORM, admin ve DRF
- Güvenli Python ve web güvenliği
- İleri Django ve DRF: ORM optimizasyonu, izinler ve test
- Kimlik doğrulama ve yetkilendirme: oturum, JWT, OAuth2 ve RBAC
- Redis, önbellek ve arka plan işleri (Celery/RQ)
Veri mühendisliği
- Veri boru hattı (ETL, data pipeline): çıkar, dönüştür, yükle
- İş akışı orkestrasyonu: cron, DAG ve Airflow
- ELT ve dbt mantığı: katmanlı SQL dönüşümleri ve testler
- Veri modelleme ve ambar: normalizasyon, yıldız şema, SCD
- Akış işleme ve mesaj kuyrukları: Kafka kavramları
- PySpark ile dağıtık veri işleme: partition, shuffle ve Spark SQL
Üretime hazırlık
- Paketleme ve dağıtım: pyproject, CLI, sürümleme ve wheel
- Kod kalitesi ve CI: ruff, mypy, pre-commit, pytest, GitHub Actions
- Docker ve dağıtım: konteyner, compose, bulut
- İleri test teknikleri: mock, test ikizleri, özellik ve mutasyon testi
- MLOps: deney takibi, model kaydı, servisleme ve izleme
- Bulut temelleri: nesne depolama, IAM, serverless ve maliyet
- Gözlemlenebilirlik: log, metrik, iz ve SLO
- Sistem tasarımı temelleri: ölçekleme, tutarlılık ve tasarım mülakatı
Mülakat
- Mülakat hazırlığı: Python soruları, algoritmalar, canlı kodlama
- Mülakat kalıpları: bağlı liste, ağaç, trie, graf, aralık ve 2B DP
- Veri rolleri mülakatı: SQL, pandas, istatistik ve vaka soruları
İleri bitirme
- Bitirme projesi: Anadolu Market müşteri analitiği paketi
- Bitirme projesi 2: Ilgaz Bank müşteri kaybı (churn) tahmini
- Bitirme projesi: Anadolu Market Sipariş API'si
- Bitirme projesi: Python ile yapay zekâ asistanı
- Bitirme projesi: Anadolu Market web olayları ETL
Yapay Zekâ
- Prompt mühendisliği ve yapılandırılmış çıktı
- LLM API'leriyle çalışmak: istemci, JSON ve araç çağrısı
- Yapay zekâ asistanıyla Python yazmak
- Embedding ve vektör arama: anlamsal arama ve RAG'in getirme (retrieval) katmanı
- LLM ajanları: araç döngüsü, hafıza, MCP ve güvenli sınırlar
- LLM uygulamalarını test etmek ve değerlendirmek
- Uçtan uca RAG uygulaması: belgeden kaynaklı cevaba
- Hugging Face ve yerel modellerle Python
Veri analizi ve bilimi
- İstatistik ve hipotez testi
- İleri pandas: şekil, pencere ve zincir
- Zaman serisi analizi
- İleri görselleştirme: seaborn, plotly ve doğru grafik
- polars, DuckDB ve Parquet: büyük veriye tek makinede
- Keşifsel veri analizi (EDA): sorudan bulguya
- İş metrikleri ve analitik kalıplar: KPI, huni, kohort, LTV
- Python'dan SQL ile analiz: CTE, pencere fonksiyonları (window functions) ve pandas karşılıkları
Makine öğrenmesi
- Ön işleme, pipeline ve model değerlendirme
- Regresyon ve sınıflandırma modelleri
- Denetimsiz öğrenme: kümeleme, PCA ve anomali tespiti
- Metin işleme ve NLP: Türkçe metinden modele
- Sinir ağlarına (neural networks) giriş: numpy'dan PyTorch'a
- Özellik mühendisliği: ham veriden modele hazır özelliğe
- Zaman serisi tahmini: temel çizgiden ETS, ARIMA ve ML'ye