Python’da f-string ile sayı biçimlendirme, f ön ekiyle oluşturulan metin içinde süslü parantez kullanılarak yapılır. İfadenin ardından iki nokta koyup biçim belirteci ekleyerek ondalık basamak, yüzde veya binlik ayraç görünümünü ayarlayabilirsin.
Örneğin {puan:.2f}, puan değerini iki ondalık basamakla gösterir. Buradaki biçimlendirme sayının kendisini değiştirmez, yalnızca ekrana ya da oluşturulan metne nasıl yansıyacağını belirler.
f-string biçim belirteci nasıl çalışır?
F-string, başına f eklenmiş metin ifadesidir. Süslü parantez içindeki bölüm bir değişken veya hesaplama olabilir. Bu ifadenin hemen ardından gelen iki nokta, görüntüleme kurallarının başlayacağını belirtir. İki noktadan sonra yazılan bölüm ise biçim belirtecidir.
Temel yapı şu şekildedir:
f"{ifade:biçim_belirteci}"
Ondalık basamak sayısını belirlemek için f-string içinde :.2f biçim belirteci kullanılır. Buradaki .2 iki basamaklık duyarlılığı, son karakter olan f ise sayının sabit noktalı biçimde gösterileceğini ifade eder.
puan = 87.456
gosterim = f"Puan: {puan:.2f}"
print(gosterim)
print(puan)
Beklenen çıktı:
Puan: 87.46
87.456
Çıktının ilk satırında sayı iki ondalık basamakla görünürken, ikinci satırda değişkenin özgün değeri korunur. Yani f-string ile yapılan işlem, sayıyı kalıcı olarak yuvarlamaz veya değiştirmez; yalnızca metin içindeki gösterimini biçimlendirir.
Temel değişken ve f-string konularını yeniden çalışmak istersen ücretsiz Sıfırdan Temel Python video eğitimi yardımcı bir başlangıç kaynağı olabilir.
Ondalık, yüzde ve binlik ayraç nasıl kullanılır?

.2f kullanarak bir sayıyı iki ondalık basamakla gösterebilirsin:
deger = 87.456
print(f"{deger:.2f}")
Beklenen çıktı:
87.46
Yüzde göstermek için biçim belirtecinin sonuna % eklenir. Bu belirteç, ondalık oranı ekranda yüzde biçimine dönüştürür.
oran = 0.25
print(f"{oran:.2%}")
print(oran)
Beklenen çıktı:
25.00%
0.25
0.25 değeri ekranda 25.00% olarak görünür, ancak değişkenin sayısal değeri yine 0.25 olarak kalır.
Binlik ayraç eklemek için biçim belirtecinde virgül kullanılır:
toplam = 1234567.8
print(f"{toplam:,}")
Beklenen çıktı:
1,234,567.8
Binlik ayraçla birlikte iki ondalık basamak göstermek için virgül ve .2f aynı belirteçte birleştirilir:
toplam = 1234567.8
print(f"{toplam:,.2f}")
Beklenen çıktı:
1,234,567.80
Buradaki , binlik grupları ayırır, .2f ise ondalık bölümün iki basamakla yazılmasını sağlar.
Kullanıcı girdisi biçimlendirmeden önce nasıl dönüştürülür?

input() ile alınan her değer metin olarak gelir. Bu nedenle kullanıcıdan alınan bir puanı ondalıklı sayı olarak biçimlendirmek veya bir adedi binlik ayraçla göstermek için önce uygun veri türüne dönüştürmek gerekir. Ondalıklı değerlerde float(), tam sayılarda ise int() kullanılır.
Dönüşümü, değeri aldıktan hemen sonra yapabilirsin. Böylece f-string içinde .2f gibi sayı biçim belirteçleri doğru türdeki değerlerle çalışır:
puan = float(input("Puanı girin: "))
adet = int(input("Adedi girin: "))
print(f"Puan: {puan:.2f}")
print(f"Adet: {adet:,}")
Örnek kullanıcı girdileri şöyle olsun:
Puanı girin: 87.5
Adedi girin: 12500
Bu girdilerden sonra ekranda şu sonuç görünür:
Puan: 87.50
Adet: 12,500
Burada float(), 87.5 değerinin ondalıklı sayı olarak kullanılmasını sağlar. int() ise 12500 değerini tam sayıya dönüştürür. Dönüşümden sonra :.2f puanı iki ondalık basamakla, :, ise adedi binlik ayraçla gösterir.
Aynı sayı farklı amaçlar için nasıl gösterilir?
Bir sayının gösterim biçimi, kullanım amacına göre seçilir. Aynı deger = 0.25 değişkeni hesaplama için ham hâliyle, tutar benzeri bir değer için iki ondalık basamakla, oran için yüzde olarak veya rapor düzeni için belirli bir genişlikte gösterilebilir.
| Amaç | f-string ifadesi | Örnek çıktı | Ne zaman seçilir? |
|---|---|---|---|
| Ham değer | f"{deger}" |
0.25 |
Hesaplama, karşılaştırma veya denetim yapılırken |
| Tutar benzeri gösterim | f"{deger:,.2f}" |
0.25 |
Sabit iki ondalık basamak ve gerektiğinde binlik ayraç gerektiğinde |
| Yüzde gösterimi | f"{deger:.0%}" |
25% |
Oranları yüzde biçiminde sunarken |
| Sağa hizalanmış rapor sütunu | f"{deger:>6.2f}" |
0.25 |
Değerleri aynı genişlikteki rapor sütunlarında hizalarken |
Karar çerçevesi: Değer üzerinde işlem yapacaksan ham gösterimi koru. Tutar benzeri bir görünüm gerekiyorsa iki ondalık basamak kullan ve daha büyük değerlerde binlik ayraç ekle. Bir oranı anlatıyorsan yüzde biçimini seç. Birden fazla sayıyı satır satır karşılaştırmalı göstereceksen alan genişliği ve hizalama belirteçlerinden yararlan.
, biçim belirteci yalnızca binlik ayraç ekler. f"{deger:,.2f}" ifadesi tek başına TL, dolar veya başka bir para birimi oluşturmaz; yalnızca sayının görünümünü düzenler. Para birimi sembolü ya da yerel gösterim gerekiyorsa bunu ayrıca metne eklemek gerekir.
Not listesi hizalı rapora nasıl dönüştürülür?
Ad ve puan çiftlerinden oluşan bir listeyi döngüyle dolaşarak her öğrenciyi aynı sütun düzeninde gösterebilirsin. Başlık satırında da aynı genişlik ve hizalama kurallarını kullanmak, raporun okunmasını kolaylaştırır.
notlar = [
("Ayşe", 92.5),
("Mehmet", 78),
("Zeynep", 100),
]
print(f"{'Ad':<12} | {'Puan':>8}")
print("-" * 23)
for ad, puan in notlar:
print(f"{ad:<12} | {puan:>8.2f}")
Bu kodun beklenen çıktısı şöyledir:
Ad | Puan
-----------------------
Ayşe | 92.50
Mehmet | 78.00
Zeynep | 100.00
Biçim belirteçlerini parçalara ayırma
{ad:<12}ifadesindeaddeğeri yazdırılır.<işareti sola hizalamayı,12ise alanın toplam genişliğini belirtir. Kısa adların sonuna boşluk eklenir, uzun adlar kesilmez.{puan:>8.2f}ifadesinde>sağ hizalamayı,8toplam alan genişliğini,.2fise sayının iki ondalık basamakla gösterileceğini belirtir.- Alan genişliği, boşluklar dışında sayının veya metnin kendi uzunluğunu da kapsar. Bu nedenle puanlar aynı sütunun sağ kenarında hizalanır.
Birebir geri bildirim ve kişiye özel çalışma akışında bu tür raporlar, Python Özel Ders programı gibi öğrencinin gelişimine göre ilerleyen çalışmalarda sonuçları karşılaştırmayı kolaylaştırabilir.
Sık Sorulan Sorular
f-string ile biçimlendirme sayının gerçek değerini değiştirir mi?
Hayır. f-string, sayının ekrana veya metne nasıl yazılacağını belirler. {puan:.2f} ifadesi görünümü iki ondalık basamağa düzenler, değişkenin sayısal değerini değiştirmez.
0.25 değeri yüzde biçiminde neden 25.00% olarak görünür?
Yüzde biçim belirteci, ondalık değeri yüzde gösterimine dönüştürür ve yüzde işaretini ekler. Bu nedenle 0.25 değeri, iki ondalık basamakla 25.00% olarak görüntülenir.
Genişlik, hizalama ve ondalık basamak aynı f-string belirtecinde birleştirilebilir mi?
Evet. {puan:>8.2f} örneğinde > sağ hizalamayı, 8 alan genişliğini, .2f ise iki ondalık basamağı belirtir. Bu parçalar tek bir biçim belirtecinde birlikte kullanılabilir.
Bu yapı, sayıların düzenli ve okunabilir raporlar içinde sunulmasına yardımcı olur.