Bölüm 1: Python 3'e Giriş (Introduction to Python 3)
Bu bölümde Python programlama dilinin temel özellikleri, Python 3 sürümünün yapısı ve Python programlarının nasıl çalıştırıldığı ele alınır.
Python nedir?
Python 3 nedir?
Python kullanmanın nedenleri ve avantajları
Performans açısından dezavantajlar
Python topluluğu
Python etkileşimli yorumlayıcısını (Interactive Interpreter) kullanma
Python betikleri (Scripts)
Python yardım sistemi
Python betiklerinin yapısı
Modüller (Modules)
Fonksiyonlar ve yerleşik işlevler (Built-ins)
Bölüm 2: Temel Değişkenler (Fundamental Variables)
Python'da değişkenlerin, nesnelerin ve temel veri türlerinin nasıl kullanıldığı incelenir.
Python'ın nesne yönelimli yapısı
Python değişkenleri
Değişken adlandırma kuralları
Veri türlerine özgü metotlar
Operatörler ve veri türleri
Artırılmış atama işlemleri (Augmented Assignments)
Python veri türleri
Veri türleri arasında dönüşüm
Listeler (Lists) ile tanışma
Demetler (Tuples) ile tanışma
Sözlükler (Dictionaries) ile tanışma
Bölüm 3: Akış Kontrolü (Flow Control)
Bu bölümde Python programlarının çalışma akışını kontrol etmek için kullanılan koşullar, döngüler ve mantıksal ifadeler ele alınır.
Koşullu ifadeler (Conditionals)
Girintileme (Indentation)
Python'da doğruluk değerleri
Boolean ve mantıksal operatörler
Zincirleme karşılaştırmalar
Dizi ve koleksiyon testleri
Nesne türleri
İstisna yönetimine giriş
while döngüleri
Döngü kontrol ifadeleri
for döngüleri
enumerate() kullanımı
Sayaç kullanılan for döngüleri
zip() ile birden fazla liste üzerinde işlem yapma
Koşullu ifadeler (Conditional Expressions)
Koşulsuz akış kontrolü
Bölüm 4: String İşlemleri (String Handling)
Python 3'te metin verilerinin oluşturulması, düzenlenmesi ve işlenmesi üzerinde durulur.
Python 3 string yapısı
print() fonksiyonu
String verilerinin hazırlanması ve işlenmesi
String birleştirme (Concatenation)
Tırnak işaretlerinin kullanımı
String metotları
String testleri
String biçimlendirme (Formatting)
Diğer string biçimlendirme yardımcıları
String dilimleme (Slicing)
split() ve join() metotları
Bölüm 5: Koleksiyonlar (Collections)
Bu bölümde Python'ın temel koleksiyon veri yapıları ve bu yapılar üzerinde gerçekleştirilebilecek işlemler incelenir.
Python veri türlerinin tekrarı
Tuple işlemleri
Python listeleri
Tuple ve liste dilimleme
Genişletilmiş iterable unpacking
Listelere eleman ekleme
Konuma göre listeden eleman silme
İçeriğe göre listeden eleman kaldırma
Sıralama (Sorting)
Liste metotları
Kümeler (Sets)
Kümelerin etkin kullanımı
Küme operatörleri
Python sözlükleri (Dictionaries)
Sözlük değerleri
Sözlükten eleman kaldırma
Sözlük metotları
Görünüm nesneleri (View Objects)
Bölüm 6: Düzenli İfadeler (Regular Expressions)
Metinlerde desen arama, eşleştirme ve değiştirme işlemleri için düzenli ifadelerin kullanımı ele alınır.
Python'da Regular Expressions
Temel genişletilmiş düzenli ifade meta karakterleri
Regular Expression nesneleri
Düzenli ifadelerle değiştirme işlemleri
Düzenli ifadelerle bölme işlemleri
Alternatif desen eşleştirme
Başlangıç ve bitiş işaretleyicileri (Anchors)
Karakter sınıfı kısayolları
Regex bayrakları (Flags)
Tekrar belirleyicileri
Quantifiers
Parantez ve gruplar
Geri referanslar (Back-references)
Global eşleşmeler
Bölüm 7: Veri Depolama ve Dosya İşlemleri (Data Storage and File Handling)
Bu bölümde dosya okuma, yazma, veri saklama ve veritabanı erişimi gibi işlemler ele alınır.
Dosya nesneleri (File Objects)
Python ile dosya okuma
Gelişmiş dosya okuma yöntemleri
fileinput modülü ile filtre programları
İkili dosya modu (Binary Mode)
Python ile dosyalara veri yazma
Standart giriş ve çıkış akışları
Ek dosya işleme teknikleri
Rastgele erişim (Random Access)
pickle ile kalıcı veri saklama
Pickle protokolleri
shelve ile veri depolama
Veri sıkıştırma (Compression)
Veritabanı arayüzlerine genel bakış
Python ile SQLite kullanımı
Bölüm 8: Fonksiyonlar (Functions)
Fonksiyonların tanımlanması, parametrelerin yönetilmesi ve yeniden kullanılabilir kod yapılarının oluşturulması incelenir.
Python fonksiyonları
Fonksiyon parametreleri
Değişken sayıda argüman alan fonksiyonlar
Varsayılan parametre değerleri
İsimlendirilmiş parametreler (Keyword Arguments)
İsimlendirilmiş parametre kullanımını zorunlu kılma
Fonksiyonlardan nesne döndürme
Fonksiyon içindeki değişkenler
İç içe fonksiyonlar (Nested Functions)
İç içe fonksiyonlarda değişken kullanımı
Fonksiyon dokümantasyonu
Lambda fonksiyonları
Sıralama anahtarı olarak lambda kullanımı
re.sub() içinde lambda kullanımı
Bölüm 9: İleri Seviye Koleksiyonlar (Advanced Collections)
Bu bölümde Python koleksiyonlarıyla daha gelişmiş ve verimli işlemler gerçekleştirmeye yönelik teknikler ele alınır.
filter() ile gelişmiş liste işlemleri
List Comprehensions
Set ve Dictionary Comprehensions
Lazy Lists
Generators
Generator nesneleri, next() ve coroutine kavramı
Liste ifadelerinin generator olarak kullanımı
Koleksiyon kopyalama problemleri
Dilimleme yöntemiyle kopyalama
deepcopy() ile derin kopyalama
Bölüm 10: Modüller ve Paketler (Modules and Packages)
Python kodlarının birden fazla dosyada düzenlenmesi, modüllerin kullanılması ve yazılım kütüphanelerinin hazırlanması üzerinde durulur.
Modül ve paket kavramları
Birden fazla kaynak dosyasıyla çalışma
Python'ın modülleri bulma mekanizması
Modül içe aktarma (Import)
Modül içindeki isimleri içe aktarma
Dizinlerin paket olarak kullanılması
Modül geliştirme
Modül dokümantasyonu
Modül testleri
Python hata ayıklayıcısı (Debugger)
Python profiler
distutils ile kütüphane dağıtımı
Bölüm 11: Sınıflara ve Nesne Yönelimli Programlamaya Giriş (Introduction to Classes and OOP)
Bu bölümde nesne yönelimli programlama yaklaşımı ve Python'da sınıf tabanlı yazılım geliştirme konuları incelenir.
Sınıflar ve OOP
Nesne yönelimli programlama terminolojisi
Object-Oriented Programming yaklaşımı
Nesnelerin kullanımı
Sınıf tanımlama
Metot tanımlama
Nesne oluşturma
Özel metotlar (Special Methods)
Operatör aşırı yükleme için özel metotlar
Properties
Properties ve Decorators
Sınıf metotları (Class Methods)
Kalıtım (Inheritance)
Kalıtım terminolojisi
Bölüm 12: Hata Yönetimi ve İstisnalar (Error Handling and Exceptions)
Python uygulamalarında hataların yakalanması, yönetilmesi ve raporlanması için kullanılan yöntemler ele alınır.
stderr üzerine çıktı yazma
Uyarıların yönetimi
İstisna yönetimi (Exception Handling)
İstisna sözdizimi
Birden fazla istisnanın ele alınması
İstisna argümanları
finally bloğu
Kodun çalışma sırası
Python istisna hiyerarşisi
Sık yapılan bir hata
raise ifadesi
Özel istisnalar oluşturma
assert ifadesi
Bölüm 13: Çoklu Görev Yönetimi (Multitasking)
Bu bölümde Python ile farklı süreçlerin çalıştırılması, iş parçacıklarının kullanılması ve çoklu işlem yönetimi incelenir.
Süreç ilişkileri ve süreç aileleri
Python ile yeni süreç oluşturma
Eski süreç yönetimi arayüzlerine örnekler
Alt süreçlerin tamamlanmasını bekleme
subprocess modülü
subprocess.Popen sınıfı
Temel süreç çalıştırma
Süreç çıktılarının yakalanması
Pipe üzerinden veri aktarımı
Süreçler ve iş parçacıkları (Processes and Threads)
Python'da temel thread kullanımı
threading senkronizasyon nesneleri
İş parçacıklarıyla ilgili zorluklar
multiprocessing modülü
Queue nesneleri
Bölüm 14: Python Standart Kütüphanesi (The Python Standard Library)
Son bölümde Python'ın sunduğu standart modüller ve bu modüllerin farklı programlama ihtiyaçlarında kullanımı ele alınır.
Python Standart Kütüphanesi
Python 2 betiklerini Python 3'e dönüştürme örneği
Pretty Printer yardımcı aracı
İşletim sistemi arayüzleri: os ve ilgili modüller
Sisteme özgü özellikler: sys
signal ile sinyal yönetimi
Sinyallerin istisnaya dönüştürülmesi
Yapılandırma dosyaları
configparser modülü
datetime modülü ve ilgili araçlar
platform modülü
Harici fonksiyon arayüzü: ctypes
socket modülü
__future__
Diğer standart modüller