Annotasiya, Python proqramlaşdırma dilində dəyişənlərə, funksiya parametrlərinə və geri dönüş (return) dəyərlərinə əlavə məlumat (metaməlumat) əlavə etməyə imkan verir. Bu anlayış ilk dəfə PEP 3107 sənədində təqdim olunmuş, daha sonra PEP 484 ilə genişləndirilmişdir.
Python dinamik tipləmə dilidir, yəni dəyişənlərin tipi kod işləyərkən müəyyən olunur. Amma annotasiyalar vasitəsilə proqramçı gözlənilən verilən tipini açıq şəkildə göstərə bilər. Annotasiyalar kodun icrasına təsir etməz, yəni onlar yalnız informasiya xarakterlidir və statik analiz, IDE-lərin intellektual təklifləri, və daha oxunaqlı kod üçün istifadə olunur.
def salamla(ad: str) -> str:
return f"Salam, {ad}!"
yas: int = 25
pi: float = 3.14
aktivdir: bool = True
Bu formada yazılmış annotasiyalar IDE-lərə və statik analiz alətlərinə kömək edir, baxmayaraq ki, kod icra olunarkən bu tiplər yoxlanılmır.
from typing import List, Dict, Optional
def telebeleri_al(sinif: Dict[str, List[str]]) -> Optional[List[str]]:
return sinif.get("telebeler")
class Daire:
def __init__(self, radius: float) -> None:
self.radius: float = radius
def sahesi(self) -> float:
return 3.14159 * self.radius ** 2
Python-da annotasiyalar __annotations__ atributunda saxlanılır:
def topla(a: int, b: int) -> int:
return a + b
print(topla.__annotations__)
# Çıxış: {'a': <class 'int'>, 'b': <class 'int'>, 'return': <class 'int'>}
Python 3.9 və sonrakı versiyalarda list, dict kimi daxili tip strukturlar typing moduluna ehtiyac olmadan annotasiya üçün istifadə edilə bilər:
def topla(reqemler: list[int]) -> int:
return sum(reqemler)
IT sahəsini dərindən öyrənmək üçün kurslarımıza qoşulun. Ətraflı məlumat almaq üçün sorğu göndərin!