Resim

Python String Veri Türü

Python String Veri Türü: Metinlerle Çalışmanın Temelleri

Programlamada Dil Kullanımı

Merhaba! Programlamada her şey sayı değildir; kullanıcı isimleri, e-posta adresleri, makale başlıkları ve hata mesajları gibi bilgilerin tamamı String (Metin) veri türü ile saklanır ve işlenir. Python'da string'ler, karakter dizileri olarak tanımlanır ve programlamada en sık kullandığınız araçlardan biri olacaktır.

Bu yazıda, Python'da string'lerin nasıl oluşturulduğunu, birden fazla satır içeren metinleri nasıl tanımlayacağımızı ve temel string işlemlerini öğreneceğiz.

1. String Tanımlama Kuralları

Bir string oluşturmanın temel kuralı, metni tırnak işaretleri içine almaktır. Python'da hem tek tırnak (') hem de çift tırnak (") kullanabilirsiniz.

  • Tek Tırnak Kullanımı:

    mesaj1 = 'Bu bir Python dersidir.'
  • Çift Tırnak Kullanımı:

    mesaj2 = "Merhaba, ben Elif."
  • Neden İki Tür Tırnak Var? Eğer metninizin içinde tırnak işareti kullanmanız gerekiyorsa, dıştaki tırnak işaretini farklı seçerek karışıklığı önleyebilirsiniz:

    dogru_ornek = "O, 'harika!' dedi." # Dışta çift, içte tek tırnak


2. Çok Satırlı String'ler (Multiline Strings)

Uzun paragrafları veya formatlanmış metinleri (örneğin HTML kodu veya bir şiir) yazmak için, string'i üçlü tırnak işaretleri (""" veya ''') içine alabiliriz.

  • Kural: Üçlü tırnak içindeki metin, kodda nasıl yazıldıysa çıktıya da o şekilde (satır sonları ve boşluklar korunarak) yansır.

    siir = """
    Python dersleri
    çok kolay ve anlaşılır,
    bu yüzden keyifliyiz!
    """
    print(siir)
    

Kendiniz deneyebilirsiniz:


3. String Birleştirme (Concatenation)

String'leri yan yana ekleyerek daha uzun metinler oluşturmaya birleştirme (concatenation) denir. Bunu yapmak için toplama operatörü (+) kullanılır.

  • Örnek:

    ad = "Ayşe"
    soyad = "Yılmaz"
    tam_isim = ad + " " + soyad # Aralarına bir boşluk ekledik
    print(tam_isim) # Çıktı: Ayşe Yılmaz

Kendiniz deneyebilirsiniz:


4. String'leri Çarpma (Tekrarlama)

Bir string'i bir tam sayı (int) ile çarparak, o string'i ardışık olarak tekrarlayabiliriz.

  • Kural: String * Tam Sayı (Örn: str * int)

    tekrar = "Ha" * 3
    cizgi = "-" * 20
    print(tekrar) # Çıktı: HaHaHa
    print(cizgi) # Çıktı: --------------------

Kendiniz deneyebilirsiniz:


5. String Uzunluğunu Bulma: len() Fonksiyonu

Bir string'deki toplam karakter sayısını (boşluklar ve özel karakterler dahil) bulmak için len() (length) yerleşik fonksiyonunu kullanırız.

  • Kural: len(string_degiskeni)

    mesaj = "Python öğreniyorum"
    uzunluk = len(mesaj)
    print(uzunluk) # Çıktı: 18 (Boşluklar dahil)
Kendiniz deneyebilirsiniz:


6. Kaçış Karakterleri (Escape Characters)

String içinde özel anlam taşıyan karakterler kullanmamız gerektiğinde, bu karakterlerden önce ters eğik çizgi (\) kullanılır. Bu işaret, Python'a bu karakteri özel olarak işlemesini söyler.
  • Yeni Satır (\n): Metni bir alt satıra indirir.

    print("Satır 1\nSatır 2")
  • Tab Boşluğu (\t): Bir tab boşluğu ekler.

    print("Ad:\tAyşe")
  • Tırnak İşaretleri (\" veya \'): Metin içinde tırnak işaretini koda son verme anlamı dışında kullanmamızı sağlar.

    mesaj = "Bana \"EVET\" dedi."

7. En Çok Kullanılan String Metotları

Python'da metin verilerinizi manipüle etmek, dönüştürmek ve kontrol etmek için kullanılan en güçlü araçlara, yani string metotlarına odaklanıyoruz.

Unutmayın: Bu metotlar orijinal string'i değiştirmez; her zaman yeni bir string döndürür.

  • Harf Durumu Değiştirme ve Biçimlendirme

Bu metotlar, string'deki büyük/küçük harf durumunu kolayca değiştirmenizi sağlar.

a. .upper(): Tüm Harfleri Büyütür

String'deki tüm karakterleri büyük harfe çevirir.

baslik = "python programlama"
buyuk_baslik = baslik.upper()
print(buyuk_baslik)
# Çıktı: PYTHON PROGRAMLAMA

b. .lower(): Tüm Harfleri Küçültür

String'deki tüm karakterleri küçük harfe çevirir. Kullanıcı girdilerini karşılaştırırken tutarlılık sağlamak için çok önemlidir.

kullanici_girdisi = "PYTHON"
kucuk_girdi = kullanici_girdisi.lower()
print(kucuk_girdi)
# Çıktı: python

c. .capitalize(): Sadece İlk Harfi Büyütür

String'in sadece ilk harfini büyük yapar, geri kalanları küçük harfe çevirir.

metin = "ilk kelime."
duzenli_metin = metin.capitalize()
print(duzenli_metin)
# Çıktı: Ilk kelime.

d. .title(): Her Kelimenin Baş Harfini Büyütür

Cümledeki her kelimenin ilk harfini büyük harfe çevirir. İsim ve unvanları biçimlendirmek için idealdir.

isim_soyisim = "ali veli kırk dokuz"
baslik_isim = isim_soyisim.title()
print(baslik_isim)
# Çıktı: Ali Veli Kırk Dokuz

Kendiniz deneyebilirsiniz:


  •  Kontrol ve Arama Metotları

Bu metotlar, string'in içeriğini veya yapısını kontrol ederek size True (Doğru) veya False (Yanlış) gibi mantıksal sonuçlar döndürür.

a. .startswith(x): Belirtilen Değerle Başlıyor mu?

String'in belirtilen alt metin ile başlayıp başlamadığını kontrol eder.

dosya_adi = "rapor_2025.pdf"
baslangic_kontrol = dosya_adi.startswith("rapor")
print(baslangic_kontrol)
# Çıktı: True

b. .endswith(x): Belirtilen Değerle Bitiyor mu?

String'in belirtilen alt metin ile bitip bitmediğini kontrol eder.

dosya_adi = "rapor_2025.pdf"
bitis_kontrol = dosya_adi.endswith(".csv")
print(bitis_kontrol)
# Çıktı: False

c. .find(x): Alt Metin Konumunu Bulma

Belirtilen alt metnin string içinde ilk bulunduğu konumun (index) numarasını döndürür. Bulamazsa -1 döndürür.

metin = "Python öğreniyorum"
konum = metin.find("öğren")
print(konum)
# Çıktı: 7 (7. indexten başlıyor)

Kendiniz deneyebilirsiniz:


  • Düzenleme ve Değiştirme Metotları

Bu metotlar, string'i temizlemek, karakterleri değiştirmek veya parçalara ayırmak için kullanılır.

a. .strip(): Baş ve Sondaki Boşlukları Kaldırma

String'in başındaki ve sonundaki tüm gereksiz boşlukları veya belirtilen karakterleri kaldırır.

girdi = " kullanici@mail.com "
temiz_girdi = girdi.strip()
print(temiz_girdi)
# Çıktı: kullanici@mail.com

b. .replace(eski, yeni): Metin Değiştirme

String içindeki tüm belirtilen eski metinleri, yeni metinle değiştirir ve yeni bir string döndürür.

eski_metin = "Merhaba dünya, merhaba."
yeni_metin = eski_metin.replace("merhaba", "hoş geldiniz")
print(yeni_metin)
# Çıktı: Hoş geldiniz dünya, hoş geldiniz.

c. .split(ayırıcı): Parçalara Ayırma

String'i belirtilen bir ayırıcıya (virgül, boşluk, tire vb.) göre böler ve bu parçaları bir Liste olarak döndürür.

etiketler = "veri,analiz,python,makine"
etiket_listesi = etiketler.split(",")
print(etiket_listesi)
# Çıktı: ['veri', 'analiz', 'python', 'makine']

Kendiniz deneyebilirsiniz:


8. Python String Biçimlendirme: .format() Metodu ve f-string Kullanımı

Programlamada değişkenlerdeki dinamik verileri (isimler, fiyatlar, tarihler vb.) sabit metinlerle birleştirmemiz gerekir. Örneğin, "Sayın Ali, bakiyeniz 450.50 TL'dir" gibi bir mesaj oluşturmak.

Python'da bunu yapmanın birden fazla yolu vardır, ancak en modern ve tavsiye edilen iki yöntem .format() metodu ve f-string'lerdir. Bu yöntemler, string birleştirmede kullanılan basit + operatöründen çok daha esnek ve okunaklıdır.

Bu yazıda, bu iki güçlü biçimlendirme tekniğini detaylı örneklerle inceleyeceğiz.


  • .format() Metodu

.format() metodu, Python 3.0'dan itibaren string birleştirmede yaygın olarak kullanılan güçlü bir araçtır. String içinde süslü parantezlerle ({}) yer tutucular tanımlarız ve bu yer tutuculara hangi değerlerin geleceğini .format() metodu ile belirtiriz.

a. Sırasal Atama (Konuma Göre)

.format()'a verilen değerler, yer tutuculara sırasına göre atanır.

ad = "Mert"
yas = 30
mesaj = "Merhaba, benim adım {} ve {} yaşındayım.".format(ad, yas)
print(mesaj)
# Çıktı: Merhaba, benim adım Mert ve 30 yaşındayım.

b. İsimli Atama (Anahtara Göre)

Yer tutuculara isim vererek, format() metoduna verilen anahtar kelime argümanlarıyla eşleştirme yapabiliriz. Bu, kodun okunurluğunu artırır.

urun = "Laptop"
fiyat = 12500
mesaj = "Ürün adı: {u}, Fiyat: {f} TL.".format(f=fiyat, u=urun)
print(mesaj)
# Çıktı: Ürün adı: Laptop, Fiyat: 12500 TL.

Kendiniz deneyebilirsiniz:


  • F-String'ler 

F-string'ler, Python 3.6 ile tanıtılan ve biçimlendirme için en çok tavsiye edilen yöntemdir. String'in başına küçük bir f harfi eklenir ve süslü parantezlerin ({}) içine doğrudan değişken adları veya hatta herhangi bir Python ifadesi yazılabilir.

a. Temel Kullanım (Değişken Ataması)

Değişken adları, süslü parantezler içinde kullanılarak anında metne gömülür.

ad = "Gizem"
sehir = "İzmir"
mesaj = f"Merhaba {ad}, {sehir}'den katılıyor."
print(mesaj)
# Çıktı: Merhaba Gizem, İzmir'den katılıyor.

b. İfade (Expression) Çalıştırma

F-string'ler içinde sadece değişkenler değil, matematiksel işlemler, fonksiyon çağrıları gibi geçerli herhangi bir Python ifadesi kullanılabilir.

sayi1 = 10
sayi2 = 5
sonuc = f"10 ile 5'in toplamı: {sayi1 + sayi2}"
print(sonuc)
# Çıktı: 10 ile 5'in toplamı: 15

Kendiniz deneyebilirsiniz:


9. Biçimlendirme Belirleyicileri (Ortak Kullanım)

Hem .format() hem de f-string'ler, sayısal çıktının formatını (ondalık hassasiyeti, yüzdelik gösterim, hizalama vb.) kontrol etmek için biçimlendirme belirleyicileri kullanır.

a. Ondalık Hassasiyeti Belirleme

Bir float (ondalıklı sayı) için virgülden sonra kaç basamak gösterileceğini belirtiriz. Örneğin, .2f iki basamak hassasiyet ister.

pi = 3.14159265
# F-string ile kullanım
yuvarlanmis_pi = f"Pi sayısı (2 basamak): {pi:.2f}"
# .format() ile kullanım
formatli_pi = "Pi sayısı (3 basamak): {:.3f}".format(pi)
print(yuvarlanmis_pi) # Çıktı: Pi sayısı (2 basamak): 3.14
print(formatli_pi) # Çıktı: Pi sayısı (3 basamak): 3.142

b. Binlik Ayırıcı Kullanımı

Büyük sayılarda binlik ayırıcı (genellikle virgül veya alt çizgi) eklemek için kullanılır.

para_miktari = 1500000
# Binlik ayırıcı olarak virgül kullanımı
biçimli_para = f"Hesaptaki tutar: {para_miktari:,} TL"
print(biçimli_para)
# Çıktı: Hesaptaki tutar: 1,500,000 TL

🔥 Python Kariyerinizi Hemen Başlatın!

Hemen kursumuza kaydolun ve bu güçlü araçları kullanarak profesyonel Python geliştiricisi olma yolunda ilk adımı atın. Kursumuzdaki uygulamalı modüller, sizi sadece bir yazılımcı adayı değil, hazır bir profesyonel haline getirecek. Python Eğitimini Udemy platformunda bulabilirsiniz.

[ Python Eğitimi Sıfırdan İleri Seviye ]

Tıklayın ve Python Eğitimine Hemen Kaydolun!

Yorumlar

Bu blogdaki popüler yayınlar

Python random Modülü

Python print()

Yazılım Nedir?