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 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