Python kütüphaneleri: pip, requests, argparse
pip, sanal ortamlar ve standart kütüphanenin işe yarayan parçaları.
Seviye 201 · 16 ders · 15 pratik lab
Dersler
Ortam ve paketler
- Python: pip ve sanal ortamlar: pip ile kütüphane kurmayı ve sanal ortamla her projenin bağımlılıklarını birbirinden ayrı tutmayı öğrenirsin.
- Bağımlılıkları denetlemek: pip-audit ve sürüm sabitleme: Projenin kullandığı paketlerde bilinen açıkları pip-audit ile arar, sürümleri requirements dosyasında sabitlersin.
- Kendi paketini hazırlamak: pyproject.toml: Kodunu pyproject.toml ile paket haline getirir, kurulabilir ve komut satırından çalışan bir araç olarak dağıtırsın.
- Kısa görev: sürümleri sabitlenmiş, tekrar kurulabilir ortam
Standart kütüphane
- Python standart kütüphanesinin işe yarayan parçaları: Python'la gelen hazır modüllerden günlük işlerde en çok işe yarayanları tanır ve ne zaman hangisini kullanacağını bilirsin.
- Python pathlib ve CSV ile dosya işleri: pathlib ile dosya yollarını rahatça yönetmeyi ve CSV dosyalarını okuyup yazmayı öğrenirsin.
- Python'da tarih, saat ve saat dilimleri: Tarih ve saatleri doğru işlemeyi, saat dilimleri arasında çevirmeyi ve günlük kayıtlarındaki zamanları karşılaştırmayı öğrenirsin.
- Bağlam yöneticileri: with, contextlib: Dosya, bağlantı ve kilit gibi kaynakları with ile hata olsa bile kapanacak şekilde yönetir, kendi bağlam yöneticini yazarsın.
- re modülü ile düzenli ifadeler: Metinde desen arar, gruplarla parça çıkarır ve değiştirirsin; böylece log ve veri ayıklama işlerini kısa kodla yaparsın.
- Güvenli rastgelelik ve özet: secrets, hashlib, hmac: Tahmin edilemez anahtar üretir, dosya özeti alır ve mesajın değişmediğini hmac ile doğrularsın.
- Kısa görev: klasördeki dosyaların SHA-256 listesini çıkar
Ağ, komut satırı ve test
- Python requests ile HTTP istekleri: requests kütüphanesiyle web adreslerine istek gönderip yanıtı, durum kodunu ve hataları düzgünce okumayı öğrenirsin.
- Python argparse ile komut satırı araçları: argparse ile betiklerine seçenekler ve yardım metni ekleyip onları gerçek bir komut satırı aracına dönüştürmeyi öğrenirsin.
- Python'da birim testleri: Kodunun küçük parçalarını otomatik testlerle sınamayı ve değişiklik yapınca bir şeyin bozulup bozulmadığını hemen görmeyi öğrenirsin.
- Kısa görev: servis durumunu soran komut satırı aracı
Bitirme
- Bitirme görevi: Python ile günlük rapor üreten araç: Kurgusal bir şirkette verileri okuyup her gün düzenli bir rapor dosyası üreten, testli küçük bir araç yazarsın.
Pratik lablar
- Özet listesini doğrulayan komut satırı aracı: Dosya özetlerini listeden doğrulayan aracı yaz: eksik, değişmiş ve fazladan dosyaları ayrı raporla ve her duruma ayrı çıkış kodu ver.
- Sanal ortamda bağımlılık kurmak: Yeni bir sanal ortam kurup requirements.txt içindeki sürümleri yükle ve testlerin beklediği sürümlerin kurulu olduğunu doğrula.
- Bağımlılıkları sabitleyip denetlemek: Sürümleri gevşek yazılmış bir projede bağımlılıkları sabitle, pip-audit raporundaki açıklı paketi güvenli sürüme yükselt ve testleri geçir.
- pyproject.toml ile komut tanımlamak: Küçük bir aracı pyproject.toml ile paketleyip bir konsol komutu tanımla; testler paketin kurulduğunu ve komutun çalıştığını doğrular.
- Sözleşme yenilemesine kalan günleri saymak: date nesneleriyle bitiş tarihine kalan gün sayısını hesaplayıp 30 günden azsa uyarı döndüren fonksiyonu yaz.
- Toplantı saatini saat dilimlerine çevirmek: zoneinfo ile İstanbul saatindeki bir toplantıyı farklı ofislerin yerel saatine çeviren fonksiyonu yaz ve yaz saati geçişi testlerini geçir.
- Vardiya süresini yaz saatinde doğru hesaplamak: Narçiçeği Hastanesi'nin gece vardiyalarında yaz saati değişimi yüzünden yanlış çıkan süre hesabını saat dilimi bilgili datetime ile düzelt.
- Parola sıfırlama kodu üretmek: secrets modülüyle URL'de güvenle kullanılabilen bir sıfırlama kodu ve altı haneli doğrulama kodu üreten fonksiyonları yaz.
- Büyük dosyanın özetini parça parça almak: Dosyayı with bloğu içinde parçalar halinde okuyarak SHA-256 özetini hesaplayan ve verilen özetle karşılaştıran fonksiyonu yaz.
- Mesajı HMAC ile imzalamak: Paylaşılan anahtarla mesaj imzalayan ve imzayı hmac.compare_digest ile doğrulayan iki fonksiyon yaz; değiştirilmiş mesajlar reddedilsin.
- Tahmin edilebilir kodu güvenli rastgeleyle değiştirmek: random ve zaman damgasıyla davet kodu üreten modülü secrets'e geçir, karakter kümesini ve uzunluğu politikaya göre ayarla ve testleri geçir.
- API yanıtından alan seçmek: requests ile lab web hedefindeki ürün API'sinden veri çekip yalnızca ad ve fiyat alanlarını döndüren fonksiyonu yaz.
- İstekte zaman aşımı ve hataları ele almak: Yavaş ve hata döndüren uç noktalara istek atarken timeout, raise_for_status ve anlaşılır hata mesajları kullanan istemci fonksiyonunu yaz.
- argparse ile dönüştürücüye arayüz yazmak: Girdi, çıktı ve biçim seçeneklerini argparse ile alan ve geçersiz seçimde yardım metniyle çıkan arayüzü yaz; unittest testleri geçsin.
- HTTP istemcisine unittest yazmak: Hava durumu servisini çağıran istemci fonksiyonu için başarılı yanıt, 404 ve zaman aşımı durumlarını sahte yanıtlarla kapsayan unittest testleri yaz.
Kurs hakkında
pip, sanal ortamlar ve standart kütüphanenin işe yarayan parçaları.
Ne öğreneceksin
- Ortam ve paketler
- Standart kütüphane
- Ağ, komut satırı ve test
- Bitirme
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.