Python'da Dizeler Nasıl Biçimlendirilir (f-dizeleri ve format)

Python'daki en iyi dize biçimlendirme tekniklerini öğrenin. Modern f-dizelerini, format() ve yüzde formatını kod örnekleriyle karşılaştırın.

Bu Çözümü Editör'de deneyin

Genel Bakış

Dizeleri biçimlendirmek, mesajların içindeki değişkenleri işlemek, günlük çıktısı almak, konsol hata ayıklamalarını yazdırmak ve web sayfaları oluşturmak için günlük bir zorunluluktur. Python yıllar içinde dize biçimlendirmesini önemli ölçüde geliştirerek dinamik metin temsillerini güvenli ve okunaklı bir şekilde oluşturmak için birden fazla seçenek sundu.

Modern Python'da (3.6+), standart ve en popüler yaklaşım f-dizeleriyle (Biçimlendirilmiş Dize Değişmezleri) biçimlendirmedir. Bir dizenin önüne "f" veya "F" ekleyerek, Python ifadelerini veya değişkenlerini doğrudan "{}" küme parantezlerinin içine gömebilirsiniz. Bu ifadeler çalışma zamanında değerlendirilir ve f-dizgelerini eski biçimlendirme yöntemlerine göre hem daha hızlı hem de önemli ölçüde daha okunaklı hale getirir.

Daha eski Python kod tabanları ".format()" yöntemini veya yüzde "%" biçimlendirmesini kullanıyor olabilir. Halen desteklenmekle birlikte, genellikle yeni kod için önerilmez. f-dizeleri aynı zamanda güçlü satır içi biçim belirticilerini de destekleyerek ondalık kesinliği (örneğin, `{value:.2f}`) kontrol etmenize, metni hizalamanıza veya tarihleri ​​doğrudan dize değişkenleri içinde biçimlendirmenize olanak tanır.

Kod ve Yürütme Çıkışı

Bu komut dosyası, f-dizeleri kullanarak dinamik metin bloklarının yazdırılmasını, kayan noktalı kayan noktaların biçimlendirilmesini ve .format() kullanımını gösterir.

format_strings.py
Editör'de deneyin
name = "Alice"
age = 30
pi = 3.14159

# 1. Using modern f-strings (Recommended)
greeting_f = f"Hello, my name is {name} and I am {age} years old."
print("f-string:", greeting_f)

# 2. formatting floats (2 decimal places precision)
precision_f = f"Pi rounded: {pi:.2f}"
print(precision_f)

# 3. Using the older .format() method
greeting_format = "Hello, my name is {} and I am {}.".format(name, age)
print(".format():", greeting_format)
Terminal Çıkışı
f-string: Hello, my name is Alice and I am 30 years old.
Pi rounded: 3.14
.format(): Hello, my name is Alice and I am 30.

Adım Adım Uygulama

  • Dize değişmezinizin başına f karakterini ekleyin (örneğin, f'Merhaba...').
  • Değişkenleri veya ifadeleri doğrudan dize içindeki süslü parantezlerin {} içine ekleyin.
  • Parantez içindeki ondalık biçimlendirmeyi işlemek için :.2f gibi biçim özelliklerini kullanın.

Sıkça Sorulan Sorular

F-string'ler .format() ve % formatlamadan daha mı hızlı?

Evet, f-dizeleri çalışma zamanında optimize edilmiş bayt kodu işlemleri olarak değerlendirilir, bu da onları hem .format() hem de % operatörlerinden daha hızlı yapar.

F-dizgileri içindeki işlevleri çalıştırabilir veya ifadeleri değerlendirebilir miyim?

Evet, herhangi bir geçerli Python ifadesi (matematiksel işlemler, işlev çağrıları ve sözlük aramaları dahil) parantezlerin içinde değerlendirilebilir.

İlgili Konular

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.