CodeBlanks Logo Icon CodeBlanks

Özet - Type hint'ler

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

main.py
# 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

main.py
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

Soru
from typing import List, Optional

def pick(items: List[str], i: int) -> ____[str]:
    if 0 <= i < len(items):
        return items[i]
    return None
Cevap
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

İleri seviye bölümündeki tüm dersler