String yardımcıları
- Python kursu
- Orta seviye
- Ders 14/116
- 6 dk
String işleme metotlarını eklersin.
slugify metodu
Bir dizgeyi URL dostu hale getirmek için slugify metodu yazacağız. Metot, harfleri küçültür ve boşlukları tireye çevirir; böylece başlık veya etiketler bağlantıya uygun olur.
Örnek: "Merhaba Dunya".lower().replace(" ", "-") sonucu "merhaba-dunya" yapar. Bunu slugify(self, text) metodu olarak sınıfa ekleyeceğiz. Metot, parametreyi alır ve dönüştürülmüş dizgeyi döndürür. Aynı yapıyı başlık, etiket ve dosya adı için kullanabilirsin.
Metot zincirleme
Zincirleme (chaining), bir metot sonucunu noktayla başka bir metoda geçmektir. text.lower().replace(...) önce lower()'ı çağırır, sonucu replace()'e gönderir.
Soldan okuma: text → .lower() → küçük harfli dizge → .replace(...) → tireli dizge. Her adım bir str döndürdüğü için zincir devam eder. Bu stil kısa ve okunaktır.
Uygulama Utility'ye slugify ekle
Utility sınıfına def slugify(self, text): metodunu ekle. Gövdede return text.lower().replace(" ", "-") yaz. Sonra u = Utility() ile örnek oluştur ve print(u.slugify("Merhaba Dünya")) çağrısı yap.
Başlangıç kodu
class Utility:
version = "1.0"
print(Utility.version)
# slugify metodunu ekle ve örnekle çağırÖrnek çözüm
class Utility:
version = "1.0"
def slugify(self, text):
return text.lower().replace(" ", "-")
u = Utility()
print(u.slugify("Merhaba Dünya"))Beklenen çıktı
merhaba-dünya
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 slugify("Merhaba Dunya") ne döndürür?
- MerhabaDunya
- merhaba-dunya Doğru cevap
- merhaba_dunya
- MERHABA DUNYA
Açıklama: lower() küçültür, replace(" ", "-") boşluğu tireye çevirir.
2 slugify gövdesini tamamla
class Utility:
def slugify(self, text):
return text.____().replace(" ", "-")
class Utility:
def slugify(self, text):
return text.lower().replace(" ", "-")
Açıklama: lower() harfleri küçültür; chaining ile replace'e geçilir.
3 slugify parçalarını eşle
| Kavram | Anlamı |
|---|---|
slugify |
Metot adı |
text.lower() |
Küçük harf |
.replace(" ", "-") |
Boşluğu tireye |