Python String Format Rehberi
Python'da metin (string) biçimlendirme, değişkenleri metin içerisine yerleştirmenin en kolay yollarından biridir. Özellikle kullanıcıya bilgi gösterirken, rapor üretirken veya dosya içerikleri oluştururken string formatlama sıkça kullanılır.
Python'da string formatlamak için üç temel yöntem vardır:
-
%operatörü (Eski yöntem) -
str.format()metodu - f-string (Önerilen modern yöntem)
Bu yazıda hepsini örneklerle inceleyeceğiz.
1. % Operatörü (Eski Yöntem)
Bu yöntem Python'un eski sürümlerinden beri bulunmaktadır.
Örnek 1
isim = "Ahmet"
print("Merhaba %s" % isim)
Çıktı:
Merhaba Ahmet
Örnek 2
yas = 25
print("Yaşım %d" % yas)
Çıktı
Yaşım 25
Örnek 3
puan = 89.75
print("Not: %.2f" % puan)
Çıktı
Not: 89.75
Buradaki .2f, ondalık kısmın 2 basamak gösterileceğini ifade eder.
Birden Fazla Değişken
isim = "Ayşe"
yas = 22
print("İsim: %s Yaş: %d" % (isim, yas))
Çıktı
İsim: Ayşe Yaş: 22
2. format() Metodu
Python 3 ile birlikte daha güçlü hale gelen yöntemdir.
Temel Kullanım
isim = "Mehmet"
print("Merhaba {}".format(isim))
Çıktı
Merhaba Mehmet
Birden Fazla Değişken
isim = "Ali"
yas = 30
print("{} {} yaşındadır.".format(isim, yas))
Çıktı
Ali 30 yaşındadır.
Sıralı Kullanım
print("{1} {0}".format("Dünya", "Merhaba"))
Çıktı
Merhaba Dünya
İsim Vererek Kullanım
print("{isim} {yas}".format(isim="Can", yas=18))
Çıktı
Can 18
Sayıları Biçimlendirme
Ondalık Basamak
pi = 3.14159265
print("{:.2f}".format(pi))
Çıktı
3.14
Binlik Ayırıcı
sayi = 1250000
print("{:,}".format(sayi))
Çıktı
1,250,000
Yüzde Gösterimi
oran = 0.85
print("{:.0%}".format(oran))
Çıktı
85%
Alan Genişliği
print("{:10}".format("Python"))
Çıktı
Python
Kelime sağa yaslanır ve toplam uzunluk 10 karakter olur.
Sola Yaslama
print("{:<10}".format("Python"))
Çıktı
Python
Sağa Yaslama
print("{:>10}".format("Python"))
Çıktı
Python
Ortalama
print("{:^10}".format("Python"))
Çıktı
Python
Karakter ile Doldurma
print("{:*^20}".format("Python"))
Çıktı
*******Python*******
Sayıları Sıfır ile Tamamlama
print("{:05}".format(42))
Çıktı
00042
3. f-String (En Çok Kullanılan)
Python 3.6 ve sonrasında gelen en pratik yöntemdir.
Temel Kullanım
isim = "Zeynep"
print(f"Merhaba {isim}")
Çıktı
Merhaba Zeynep
Birden Fazla Değişken
isim = "Ali"
yas = 28
print(f"{isim} {yas} yaşındadır.")
Çıktı
Ali 28 yaşındadır.
Matematiksel İşlem
a = 15
b = 5
print(f"Toplam = {a+b}")
Çıktı
Toplam = 20
İfade Kullanımı
isim = "Python"
print(f"{isim.upper()}")
Çıktı
PYTHON
Ondalık Basamak
pi = 3.1415926
print(f"{pi:.3f}")
Çıktı
3.142
Binlik Ayırıcı
para = 123456789
print(f"{para:,}")
Çıktı
123,456,789
Yüzde
oran = 0.756
print(f"{oran:.1%}")
Çıktı
75.6%
Sağa Yaslama
isim = "Ali"
print(f"|{isim:>10}|")
Çıktı
| Ali|
Sola Yaslama
print(f"|{isim:<10}|")
Çıktı
|Ali |
Ortalama
print(f"|{isim:^10}|")
Çıktı
| Ali |
Karakter ile Doldurma
print(f"{isim:-^20}")
Çıktı
--------Ali---------
Sayıları Farklı Tabanlarda Gösterme
İkilik (Binary)
sayi = 15
print(f"{sayi:b}")
Çıktı
1111
Sekizlik (Octal)
print(f"{sayi:o}")
Çıktı
17
Onaltılık (Hexadecimal)
print(f"{sayi:x}")
Çıktı
f
Tarih Formatlama
from datetime import datetime
bugun = datetime.now()
print(f"{bugun:%d.%m.%Y}")
Örnek çıktı
15.06.2025
Tablo Oluşturma
urun = "Laptop"
fiyat = 45000
print(f"{urun:<15}{fiyat:>10}")
Çıktı
Laptop 45000
Döngü ile Kullanım
for i in range(1, 6):
print(f"{i:02}")
Çıktı
01
02
03
04
05
Hesaplama Sonucu Yazdırma
urun = "Klavye"
adet = 3
fiyat = 750
print(f"Toplam: {adet*fiyat} TL")
Çıktı
Toplam: 2250 TL
Sözlük (Dictionary) Kullanımı
ogrenci = {
"isim": "Elif",
"yas": 20
}
print(f"{ogrenci['isim']} {ogrenci['yas']}")
Çıktı
Elif 20
Liste Kullanımı
sayilar = [5, 10, 15]
print(f"İlk sayı: {sayilar[0]}")
Çıktı
İlk sayı: 5
Karşılaştırma
| Özellik | % Operatörü | format() | f-string |
|---|---|---|---|
| Okunabilirlik | Düşük | Orta | Çok yüksek |
| Hız | Orta | Orta | Yüksek |
| Python Sürümü | Eski | Python 3 | Python 3.6+ |
| Önerilen | ❌ Hayır | ✔️ Kullanılabilir | ⭐ Evet |
En Sık Kullanılan Format Kodları
| Kod | Açıklama | Örnek |
|---|---|---|
:.2f |
2 ondalık basamak | 3.14 |
:, |
Binlik ayırıcı | 1,000,000 |
:05 |
Baştan sıfır ekleme | 00042 |
:>10 |
Sağa yaslama | Ali |
:<10 |
Sola yaslama | Ali |
:^10 |
Ortalama | Ali |
:*^20 |
Karakterle doldurma | ****Ali**** |
:b |
Binary | 1010 |
:o |
Octal | 12 |
:x |
Hexadecimal | a |
:.1% |
Yüzde | 75.5% |
Sonuç
Modern Python projelerinde f-string kullanımı tavsiye edilir. Daha okunabilir, daha hızlı ve kod yazmayı kolaylaştırır. Eski projelerde % operatörü veya format() metodu ile karşılaşabilirsiniz; bu nedenle üç yöntemi de bilmek faydalıdır. Güncel Python geliştirmelerinde ise yeni kod yazarken öncelikli tercih f-string olmalıdır.
Top comments (0)