Field
- Python kursu
- İleri seviye
- Ders 56/83
- 5 dk
Field(...) ile doğrulama kurallarını öğrenirsin.
Field
Field(...), bir alana doğrulama kısıtları ekler. gt, lt, ge, le ile sınırlar; min_length, max_length ile uzunluk verirsin.
from pydantic import BaseModel, Field
class User(BaseModel):
name: str = Field(min_length=2)
age: int = Field(gt=0, lt=200)gt=0 değer sıfırdan büyük olmalı; lt=200 200'den küçük olmalı demektir. Kısıt ihlal edilirse Pydantic hatası fırlatılır.
sınır ve uzunluk
Sayı alanlarında gt (büyük), lt (küçük), ge (büyük-eşit), le (küçük-eşit) kullanılır. Dize alanlarında min_length ve max_length ile uzunluk sınırlanır.
age: int = Field(ge=18, le=65) # 18-65 arası
name: str = Field(min_length=2, max_length=50) # 2-50 karakter
tags: list = Field(min_length=1) # en az bir öğeBu kısıtlar, hatalı verinin sisteme girmesini engeller; API'lerde özellikle yararlıdır.
Uygulama Field kısıtlı User modeli
from pydantic import BaseModel, Field ile başla. class User(BaseModel): tanımla. name: str = Field(min_length=2) ve age: int = Field(gt=0, lt=200) alanlarını ekle. u = User(name="Ayşe", age=30) ile örnek oluştur. print(u.name, u.age) ile değerleri yazdır.
Başlangıç kodu
# pydantic'den BaseModel ve Field'i içe aktar
# User sınıfını tanımla (BaseModel'den türe)
# name alanına en az 2 karakter, age alanına sıfırdan büyük ve 200'den küçük kısıt ekle
# bir User örneği oluştur (Ayşe, 30)
# değerleri yazdırÖrnek çözüm
from pydantic import BaseModel, Field
class User(BaseModel):
name: str = Field(min_length=2)
age: int = Field(gt=0, lt=200)
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 Field çağrısını tamamla
from pydantic import BaseModel, Field
class User(BaseModel):
age: int = ____(gt=0, lt=200)
from pydantic import BaseModel, Field
class User(BaseModel):
age: int = Field(gt=0, lt=200)
Açıklama: Field(gt=0, lt=200) ile sınırlar konur.
2 Field(gt=0) kısıtı neyi ifade eder?
- Değer sıfırdan büyük olmalı Doğru cevap
- Değer negatif olmalı
- Değer sıfıra eşit olmalı
- Değer sıfır olamaz
Açıklama: gt=0, değerin sıfırdan büyük olması gerektiğini söyler.
3 Field kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
gt=0 |
Sıfırdan büyük |
lt=200 |
200'den küçük |
min_length=2 |
En az 2 karakter |
max_length=50 |
En çok 50 karakter |