Menu

Python String'ler: f-String'ler, Dilimleme ve Kullanacağın Her String Metodu

Python'da metinle çalışmak — string oluşturmak, f-string kullanmak, dilimlemek ve split, join, replace, strip gibi günlük metotlar.

Metin, Ama Metotlarla

Bir Python string'i karakter dizisidir ve string'leri diğer her tipten daha çok kullanırsın. Her isim, etiket, mesaj, URL, dosya yolu ve API yanıtı bir noktada bir string'de yaşar.

Tırnaklarla oluştur — tek, çift ya da üçlü:

main.py
Output
Click Run to see the output here.

Tek ve çift tırnaklar birbirinin yerine geçebilir. Hangisi bir karakteri kaçırmaktan (escape) kurtarıyorsa onu kullan. "don't" temizdir; 'don\'t' ters eğik çizgi ister.

String'ler değiştirilemezdir. Bir string var olduktan sonra karakterini yerinde değiştiremezsin. Bir string'i değiştiriyor gibi görünen her işlem aslında yeni bir string döner. Bu yüzden text.upper() yerine text = text.upper() yazarsın — yeniden atama olmadan yeni büyük harfli string atılırdı.

Birleştirme ve Tekrarlama

İki operatör ihtiyaç duyacağın string birleştirme işinin çoğunu yapar:

main.py
Output
Click Run to see the output here.

+ string'leri birleştirir. * bir string'i tekrarlar. İkisi de yeni bir string döner.

Çok sayıda parçayı + ile birleştirmek hızla çirkinleşir. Bir mesaja farklı tiplerden değerler karıştırırken f-string'lere başvur — bir sonraki bölüme bak.

f-String'ler: Genelde Formatlayacağın Yol

Açılış tırnağının önüne bir f koy, string bir şablona dönüşür. {...} içindeki her şey, o ifadenin değeriyle değiştirilir:

main.py
Output
Click Run to see the output here.

Parantezlerin içine her türlü ifade koyabilirsin — değişkenler, aritmetik, metot çağrıları, fonksiyon çağrıları. Ama yine de basit tut; üç satırlık bir hesaplamayı {...} içine tıkıştırmak geliyorsa, önce onu isimlendirilmiş bir değişkene hesapla.

f-string'ler sayı biçimlendirmesi, doldurma ve hizalama kontrolü için iki noktadan sonra biçim belirteçlerini de destekler:

main.py
Output
Click Run to see the output here.

Bu biçim spec'leri str.format()'ın kullandıklarıyla aynıdır ve temel konulara alıştığında hızlı bir göz atmaya değer. İlk günün kodu için onlara ihtiyacın yok.

Dilimleme: Bir Parça Al

String'ler, diziler gibi indekslenebilirdir. Her karakterin sıfır tabanlı bir pozisyonu vardır ve tek bir karakteri ya da bir aralığı yakalayabilirsin:

main.py
Output
Click Run to see the output here.

[start:stop:step] kalıbı listelerde ve diğer dizilerde de ortaya çıkar; onu içselleştirmeye birkaç dakika harcamak her yerde kendini amorti eder.

Dikkat çekmeye değer iki şey:

  • stop indeksi hariçtir: word[0:2] indeks 0 ve 1'i içerir, 2'yi değil.
  • Negatif indeksler sondan sayar: -1 son karakter, -2 bir öncesi vb.

Bir String'i Nasıl Ters Çevirirsin

String'lerin .reverse() metodu yoktur — değiştirilemezler — ama adımı -1 olan dilimleme işi tek satırda halleder:

main.py
Output
Click Run to see the output here.

word[::-1] ifadesi "baştan sona, 1 geriye adımla" diye okunur. Sonuç bambaşka yeni bir string'dir; orijinal dokunulmaz. Karakterleri ters yönde dolaşmak istiyorsan ama yeni bir string oluşturmak istemiyorsan reversed(word) tembel bir yineleyici döner.

Bir String'in Uzunluğunu Nasıl Kontrol Edersin

len(text) karakter sayısını döner:

main.py
Output
Click Run to see the output here.

len'in Unicode kod noktalarını saydığını, bayt olmadığını unutma. len("café") UTF-8 kodlaması daha fazla bayt alsa da 4'tür, 5 değil — ki bu genelde istediğin şeydir.

Bir String'in Bir Alt Dizeyi İçerip İçermediğini Nasıl Kontrol Edersin

in operatörü deyimsel kontroldür ve İngilizce gibi okunur:

main.py
Output
Click Run to see the output here.

Büyük/küçük harf duyarsız kontrol için önce iki tarafı normalleştir:

main.py
Output
Click Run to see the output here.

Evet/hayır değil de pozisyon istiyorsan .find() kullan — indeksi döner ya da alt dize yoksa -1.

Yaygın String Metotları

String'lerin onlarca metodu var. Bu avuç dolusu metoda sürekli başvuracaksın:

main.py
Output
Click Run to see the output here.

Bölme ve birleştirme:

main.py
Output
Click Run to see the output here.

.split(separator) bir string'i bir listeye çevirir. separator.join(list_of_strings) onu geri yapıştırır. Bu iki metot gerçek dünyadaki string işlerinin orantısız bir kısmını taşır.

Bir tane daha kullanışlı ikili:

main.py
Output
Click Run to see the output here.

Üç satırda yazılmış tek satırlık bir yapılandırma girdisi için ayrıştırıcı. Küçük string'ler, büyük kaldıraç.

İçeriği Kontrol Etmek

Birkaç metot if koşullarında kullanışlı boolean döner:

main.py
Output
Click Run to see the output here.

Bunları tedbirli kullan — Unicode özelliklerini beklediğin her şekilde ele almazlar. ASCII'nin ötesindeki her şey için ya regex modülüne ya da unicodedata modülüne güven.

Özel Karakterleri Kaçırma

Bazı karakterlerin bir string içinde görünmesi için ters eğik çizgi gerekir:

main.py
Output
Click Run to see the output here.

Windows yolları ya da regex yazıyorsan raw string'ler hayatı kolaylaştırır. Tırnağın önüne bir r koy, ters eğik çizgiler kaçış karakteri olmaktan çıkar:

main.py
Output
Click Run to see the output here.

String'ler Her Yerde, O Yüzden Okunur Tut

String ağırlıklı kodu çorbaya dönmekten koruyan üç alışkanlık:

  1. Enterpolasyon için f-string kullan. Farklı tipler arasında + zincirleme.
  2. "Değiştirirken" yeniden ata. Tek başına text.strip() değil, text = text.strip().
  3. Metin ayrıştırmak ya da birleştirmek için manuel döngüler yazmadan önce .split() ve .join()'e başvur. Daha hızlı, daha açık ve yanlış yapması daha zor.

Sırada: f-string'lere derinlemesine — şimdiye dek birkaç kez gördüğün biçimlendirme aracı, artı onları öğrenmeye değer kılan sayı ve tarih biçim spec'leri.

Sıkça Sorulan Sorular

Python'da f-string nedir?

f-string, başına f konulmuş bir string literal'dır; {...} içinde ne varsa o ifadenin değeriyle değiştirilir. Örnek: f"Hello, {name}!" çalışma zamanında name değişkeninin mevcut değerini string'e yerleştirir.

Python'da bir string'i nasıl ters çeviririm?

Adımı -1 olan dilimleme kullan: reversed_text = original[::-1]. Bu, aynı karakterlerden oluşan ters sıralı yeni bir string döner. Python'da string'ler değiştirilemez olduğu için orijinal dokunulmadan kalır.

Python'da bir string'i nasıl bölerim?

String üzerinde .split() çağır. Argümansız olduğunda herhangi bir boşluğa göre böler: "a b c".split() ['a', 'b', 'c'] döner. Belirli bir ayraç geçebilirsin: "a,b,c".split(",") ['a', 'b', 'c'] döner.

Python string'leri değiştirilebilir mi?

Hayır. String'ler değiştirilemezdir — bir string var olduktan sonra karakterlerinden hiçbirini yerinde değiştiremezsin. Bir string'i "değiştiren" her metot aslında yeni bir string döner. Bu yüzden text = text.strip() gibi kalıplar görürsün — değişkeni yeni string'e yeniden atarsın.

Python'da string'leri nasıl birleştiririm?

İki string'i birleştirmek için + kullan: "hello" + " " + "world". Bir değeri bir cümleye katmak için f-string'i tercih et: f"Hello, {name}". Bir listedeki çok sayıda parçayı birleştirmek için separator.join(pieces) kullan — zincirlenmiş +'tan hem daha hızlı hem daha iyi okunur.

Python'da bir string'in uzunluğunu nasıl kontrol ederim?

Yerleşik len(text) çağır. Karakter sayısını (Unicode kod noktaları) döner, yani len("café") 4'tür. Bayt uzunluğu için önce kodla: len(text.encode("utf-8")).

Coddy ile kodlamayı öğren

BAŞLA