Berk Akademi
Birebir ders başvurusu Ücretsiz ön görüşme Ana Sayfa

Python’da f-string ile Sayı Biçimlendirme Nasıl Yapılır?

pythonda-f-string-ile-sayi-bicimlendirme-nasil-yapilir
Bu yazıda neler var?
  1. f-string biçim belirteci nasıl çalışır?
  2. Ondalık, yüzde ve binlik ayraç nasıl kullanılır?
  3. Kullanıcı girdisi biçimlendirmeden önce nasıl dönüştürülür?
  4. Aynı sayı farklı amaçlar için nasıl gösterilir?
  5. Not listesi hizalı rapora nasıl dönüştürülür?
  6. Sık Sorulan Sorular

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?

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?

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} ifadesinde ad değeri yazdırılır. < işareti sola hizalamayı, 12 ise alanın toplam genişliğini belirtir. Kısa adların sonuna boşluk eklenir, uzun adlar kesilmez.
  • {puan:>8.2f} ifadesinde > sağ hizalamayı, 8 toplam alan genişliğini, .2f ise 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.

Bu içerik aradığın cevabı verdi mi?
Yanıtın, hangi yazıları geliştirmemiz gerektiğini anlamamıza yardımcı olur.
Bu içeriğin üretilmesinde yapay zeka araçlarından destek alınmıştır.

Bu konudan sonra ne okuyabilirsin?

Tüm yazılar

İlgili Eğitimler

Berk Keskin, yazılım geliştirici ve eğitmen
Yazar

Berk Keskin Kimdir?

Yazılıma 12 yaşında başladı; İzmir Ekonomi Üniversitesi'ni bölüm birincisi ve yüksek şeref öğrencisi olarak tamamladı. Bugün yalnızca eğitim vermekle kalmıyor, sektörde aktif olarak yazılım projeleri geliştiriyor ve gerçek dünya deneyimini birebir derslerine taşıyor. Ezberden uzak, mühendislik zihniyetini merkeze alan sürdürülebilir öğrenme sistemleri tasarlayarak sorgulayan, üreten ve problem çözebilen yeni nesil yazılımcılar yetiştiriyor.

Sektörel Deneyim & Projeler

  • Ticarify Entegrasyon Yazılım logosu CEO Ticarify Entegrasyon YazılımPazaryerleri ve e-ticaret sitelerine otomatik e-fatura kesimi, sipariş ve kargo takibi hizmetleri sunan e-Dönüşüm platformunun API mimarisini ve yazılım ekibini yönetmektedir.
  • Benim Düğünüm logosu CEO Benim DüğünümDijital etkinlik ve anı paylaşım platformu.
  • Siberdizayn logosu Yazılım Ekibi Lideri SiberdizaynYüksek anlık oyuncu trafiğine sahip oyun kontrol panelleri ve sunucu altyapıları geliştiren yazılım ekibine liderlik etmektedir.
  • MEDYOGRAFYA 360° Dijital Çözümler logosu Dijital Strateji Lideri MEDYOGRAFYA 360° Dijital ÇözümlerŞirketlerin dijital çözümlerde uzun vadede nasıl ilerlemesi gerektiği ve dijital dönüşüm süreçlerinin yönetilmesine destek olmaktadır.
  • İzmir Ekonomi Üniversitesi logosu Danışma Kurulu Üyesi İzmir Ekonomi ÜniversitesiMezun olduğu üniversitesinde, Bilgisayar Programcılığı bölümünün akademik müfredatını güncel sektör ihtiyaçlarına göre şekillendirmek adına Danışma Kurulu'nda görev almaktadır.
WhatsApp Hemen Ara