Python’da dataclasses: Sınıf Yazmanın Kısa Yolu

Python'da @dataclass ile __init__, __repr__ ve __eq__ yazmaya son. default_factory, __post_init__, frozen, order, slots ve asdict seçeneklerini çalışan örneklerle inceliyoruz.
Yapay Zeka - Bilim - Teknoloji (AI-Sci-Tech)
Yapay Zeka - Bilim - Teknoloji (AI-Sci-Tech)

Python'da @dataclass ile __init__, __repr__ ve __eq__ yazmaya son. default_factory, __post_init__, frozen, order, slots ve asdict seçeneklerini çalışan örneklerle inceliyoruz.

Python 3.15 9 Ekim'de geliyor. lazy import ile 8 kat hızlı açılış, yerleşik frozendict, kavrayışlarda açma, sentinel ve varsayılan UTF-8'i sürüm adayında çalıştırdığımız örneklerle inceliyoruz.

Projeniz üretim (production) sunucusuna dağıtılmaya hazır ama acaba script’iniz gerçekten izole bir sanal ortam (virtual environment) içinde mi çalışıyor, yoksa sistem genelindeki (global) Python kurulumuna mı bulaşıyor? Bu soruyu manuel kontrol etmek yerine, koda birkaç satırla otomatik bir “sağlık kontrolü”…

Bir web sayfasına baktığınızda gördüğünüz güzel tasarım, aslında tarayıcının arkasında iç içe geçmiş yüzlerce HTML etiketinden ibarettir. Peki o karmaşadan yalnızca ihtiyacınız olan başlığı, yazarı veya linki nasıl çekip alırsınız? İşte tam burada Python’ın en sevilen kütüphanelerinden biri olan BeautifulSoup…

Bir web formuna yanlış yazılmış bir e-posta adresi, hatalı biçimli bir telefon numarası ya da “12345” gibi zayıf bir şifre girildiğinde, bu hatanın veritabanına ulaşmadan önce yakalanması gerekir. Python’ın yerleşik re modülü, tam da bu “girdi kapıda durdurulsun” mantığını birkaç…

Üç farklı sunucudan veri çekmeniz gerektiğini düşünün; her biri birkaç saniye sürüyor. Sırayla isteyip her birinin bitmesini beklerseniz toplam süre üçünün toplamı kadar uzar. Ya aynı anda, tek bir iş parçacığıyla (thread) hepsini beklemenin bir yolu olsaydı? İşte tam bu…

Sistem yönetimi veya backend geliştirme ile uğraşıyorsanız, karşınıza çıkan o devasa, okunması imkansız log dosyalarını bilirsiniz. Binlerce satır arasında kaybolmuş tek bir hata kodunu aramak, bazen samanlıkta iğne aramaya benzer. Peki, bu kaosun içinden saniyeler içinde anlamlı tablolar ve yapılandırılmış…

Python ile uygulama geliştirirken karşımıza çıkan en büyük sorulardan biri şudur: “Kodumu nasıl daha hızlı çalıştırabilirim?” Paralel programlama, modern çok çekirdekli işlemcilerin gücünü kullanmak için harika bir yoldur. Ancak Python dünyasında işler, diğer dillerden biraz farklı yürür. Sahneye “Küresel Yorumlayıcı…

Bir e-ticaret sitesine girdiğinizde, ürün sayfasının yüklenmesi için arka planda onlarca farklı işlem gerçekleşir: Ürün bilgileri çekilir, stok durumu kontrol edilir, kullanıcı yorumları getirilir ve kargo ücretleri hesaplanır. Eğer bu işlemler sırayla yapılsaydı, sayfanın açılması saniyeler sürer ve kullanıcılar sitenizi…

Python, dinamik doğasıyla geliştiricilere büyük bir esneklik sunar. Ancak projeler büyüdükçe, değişkenlerin ve fonksiyon dönüş değerlerinin hangi tipte olduğunu takip etmek zorlaşır. İşte bu noktada Tip Belirtme (Type Hinting) devreye girer. Python 3.12 ile gelen PEP 695, tip sistemini sadece…