Özet - Type hint'ler
- Python kursu
- İleri seviye
- Ders 12/83
- 5 dk
Optional, Callable ve TypeVar'ı birleştirerek bir type-safe fonksiyon yazarsın.
Özet - Type hint'ler
Bu grupta type hint'lerin temel araçlarını gördün. Temel türler (int, str) imzaları anlatır; Optional None olasılığını, Union birden çok türü birleştirir.
List ve Dict kapsayıcı türlerini bildirir; Callable fonksiyon parametrelerini, TypeVar türü koruyan genel fonksiyonları tanımlar.
Son görevde Optional ve List'i birlikte kullanacaksın: bir listeden öğe bulup Optional[str] dönen bir fonksiyon yazacaksın.
Uygulama List ve Optional ile pick fonksiyonu
pick(items: List[str], i: int) -> Optional[str] fonksiyonunu yaz. 0 <= i < len(items) ise items[i] döndürsün; değilse None. typing modülünden List ve Optional içe aktar. print(pick(["a", "b"], 1)) ve print(pick(["a", "b"], 5)) çağrılarını yap.
Başlangıç kodu
# typing modülünden List ve Optional içe aktar
# pick(items: List[str], i: int) -> Optional[str]
# i geçerli bir indekse ise ilgili öğeyi, değilse None döndür
# pick(["a", "b"], 1) ve pick(["a", "b"], 5) çağrılarının sonucunu yazdırÖrnek çözüm
from typing import List, Optional
def pick(items: List[str], i: int) -> Optional[str]:
if 0 <= i < len(items):
return items[i]
return None
print(pick(["a", "b"], 1))
print(pick(["a", "b"], 5))Beklenen çıktı
b None
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir fonksiyon hem dize hem None dönebilir; hangi tür kullanılır?
- Union[int, str]
- List[str]
- Callable[[int], int]
- Optional[str] Doğru cevap
Açıklama: Optional[str] dize ya da None kabul eder; tam bu senaryoya uyar.
2 List ve Optional birleşimi
from typing import List, Optional
def pick(items: List[str], i: int) -> ____[str]:
if 0 <= i < len(items):
return items[i]
return None
from typing import List, Optional
def pick(items: List[str], i: int) -> Optional[str]:
if 0 <= i < len(items):
return items[i]
return None
Açıklama: Optional[str], bir dize ya da None dönebileceğini bildirir.
3 Grup kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
Optional[str] |
str veya None |
List[int] |
Tamsayı listesi |
Callable[[int], int] |
int alır, int döndürür |
TypeVar("T") |
Genel tür değişkeni |