Yazılım Geliştirme 1 dakika okuma

Python 3.12 Type Hints ile Daha Guvenli Kod Yazmak

Python 3.12 type hints, TypeVar, dataclass entegrasyonu ve mypy ile statik analiz.

E
Emre Cihan
· · 15 görüntüleme

Python Type Hints Neden Onemli

Python dinamik tipli bir dil olmasina ragmen buyuk projelerde tip belirsizligi ciddi hatalara yol acar.

Temel Kullanim

def kullanici_getir(id: int) -> dict:
    return db.query("SELECT * FROM users WHERE id = ?", [id])

def birlestir(ad: str, soyad: str) -> str:
    return ad + " " + soyad

TypeVar ve Generic Yapilar

from typing import TypeVar, Generic
T = TypeVar("T")

class Yigin(Generic[T]):
    def __init__(self) -> None:
        self._items: list[T] = []
    def ekle(self, item: T) -> None:
        self._items.append(item)
    def cikar(self) -> T:
        return self._items.pop()

dataclass ile Entegrasyon

from dataclasses import dataclass, field

@dataclass
class Kullanici:
    id: int
    email: str
    aktif: bool = True
    roller: list = field(default_factory=list)

mypy ile Statik Analiz

pip install mypy
mypy uygulama.py --strict

Strict modda hicbir tip belirsizligine izin verilmez. Pipeline'a ekleyerek hatalari erken yakalayabilirsiniz.

Python 3.12 Yenilikleri

from typing import TypeAlias
Vektor: TypeAlias = list[float]

# Python 3.12 yeni yol
type Matris = list[list[float]]

Tip guvenli Python kodu uzun vadede cok daha kolay bakimli bir kod tabani olusturur.

Etiketler: #Python
Paylaş: Twitter / X
E
Emre Cihan
Sistem Yöneticisi · Maker · Elektronik Meraklısı

İlgili yazılar

Yapay Zeka ve LLM
RAG Sistemi: Belgelerinizi Yapay Zeka ile Sorgulayin
1 dk
#Python
Yapay Zeka ve LLM
LLM Fine-Tuning ile Ozel Model Egitimi
1 dk
#Python