EMZETT.
Giriş yap

Python: tür ipuçları (type hints) ve mypy

Kısaca: Tür ipuçları (tür açıklamaları), parametrelerin, dönüş değerlerinin ve değişkenlerin beklenen türlerini Python koduna yazar. Python bunları zorlamaz, ama mypy gibi araçlar ve editörler denetler.

Biraz daha ayrıntılı: Python dinamik türlü kalır. İpuçları insanlara ve araçlara hizmet eder: daha iyi otomatik tamamlama, erken hata iletileri, daha okunaklı arayüzler.

Ayrıntılı

  • Temel biçim: def fiyat(net: float, vergi: float = 0.19) -> float: ve ad: str = "Anna".
  • Kapsayıcılar: list[int], dict[str, float], tuple[int, str], set[str] (Python 3.9’dan itibaren doğrudan, öncesinde typing.List vb.).
  • Optional ve birleşim: str | None (3.10’dan) veya Optional[str]. Şunu söyler: None olabilir, bu yüzden kullanmadan önce denetle.
  • Diğerleri: İşlevler için Callable[ [int], str ], sabit anahtarlı sözlükler için TypedDict, yapısal arayüzler için Protocol (denetimli “ördek tiplemesi”), kaçış kapısı olarak Any.
  • mypy: mypy dosya.py ipuçlarını statik olarak denetler ve çelişkileri bildirir; örneğin int yerine str geçmek. Alternatifler: pyright (Pylance’ta), pytype.
  • Kademeli: Tek tek dosyaları veya işlevleri açıklayabilirsin. Açıklanmamış koda hoşgörüyle davranılır.
  • Çalışma zamanı: Pydantic veya FastAPI gibi kütüphaneler ipuçlarını okur ve girdileri doğrular.
  • Sınır: İpuçları çalışma zamanında hiçbir şeyi garanti etmez.

Ayrıca bak: Tür sistemleri ve tür çıkarımı, Linter, biçimlendirici ve tür denetleyiciler