BaseModel
- Python kursu
- İleri seviye
- Ders 55/83
- 5 dk
pydantic.BaseModel ile model tanımlamayı öğrenirsin.
BaseModel
pydantic.BaseModel, veri modellerinin temel sınıfıdır. Bir sınıf türetir, alanlara tür verirsin; Pydantic veriyi otomatik doğrular ve türe çevirir.
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
u = User(name="Ayşe", age=30)
print(u.name, u.age) # Ayşe 30Yanlış tür verirsen Pydantic hatası alırsın. Modeli bir sözükten de oluşturabilirsin; eksik alan yine hata verir.
alan ve tür
Her alan bir tür ile tanımlanır: str, int, float, bool, list gibi. Pydantic veriyi bu türe çevirmeye çalışır; başaramazsa hata verir.
class User(BaseModel):
name: str
age: int
active: bool
u = User(name="Ayşe", age="30", active=True)
print(u.age) # 30 (int'e çevrildi)Bu özellik, veri kaynağı güvenilmediğinde yararlıdır; örneğin bir formdan gelen dizeler otomatik tamsayıya çevrilir.
Uygulama User modeli oluştur
from pydantic import BaseModel ile başla. class User(BaseModel): tanımla; name: str ve age: int alanlarını ekle. u = User(name="Ayşe", age=30) ile bir örnek oluştur. print(u.name, u.age) ile değerleri yazdır.
Başlangıç kodu
# pydantic'den BaseModel'i içe aktar
# User sınıfını tanımla (BaseModel'den türe, name ve age alanları)
# bir User örneği oluştur (Ayşe, 30)
# name ve age değerlerini yazdırÖrnek çözüm
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
u = User(name="Ayşe", age=30)
print(u.name, u.age)Beklenen çıktı
Ayşe 30
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 BaseModel türetilen bir modelde eksik alan verirsen ne olur?
- Alan None olur
- Hata fırlatılır Doğru cevap
- Alan boş dize olur
- Uyarı verilir ama devam eder
Açıklama: Zorunlu alan eksikse Pydantic hatası fırlatılır.
2 BaseModel türetmesini tamamla
from pydantic import BaseModel
class User(____):
name: str
age: int
from pydantic import BaseModel
class User(BaseModel):
name: str
age: int
Açıklama: class User(BaseModel) ile model tanımlanır.
3 BaseModel kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
BaseModel |
Temel sınıftır |
name: str |
Alan tanımıdır |
User(name=, age=) |
Örnek oluşturur |
u.name |
Alan değeridir |