koddla

Yazılımcıları bilgi ile güçlendirir.

Python format() Fonksiyonu

Python format() fonksiyonu, kodunuzdaki stringleri biçimlendirmek için kullanılabilir.

format() işlevi ne yapar?

format() işlevi, bir dizeye yer tutucular eklemenize ve ardından bu yer tutucuları değerlerle değiştirmenize olanak tanıyan yerleşik bir Python işlevidir. Bu, kullanıcı girdisi veya kodunuzdaki değişkenler gibi dinamik veriler içeren dizeler oluşturmayı kolaylaştırır.

Örneğin, bir kişinin adını ve yaşını içeren bir dize oluşturmak istediğinizi varsayalım. Bu değerlere yer tutucular eklemek için format() işlevini kullanabilir ve ardından dizeyi oluşturduğunuzda bunları gerçek verilerle değiştirebilirsiniz:

isim = "Ahmet"
yas = 30

metin = "Merhaba, benim adım {} ve yaşım {}.".format(isim, yas)

print(metin)

Bu, aşağıdaki dizeyi çıktılayacaktır:

"Merhaba, benim adım Ahmet ve yaşım 30."

Gördüğünüz gibi format() işlevi, dizeleri ve değişkenleri manuel olarak birleştirmek zorunda kalmadan bir dizeye dinamik olarak veri eklemeyi kolaylaştırır.

format() işlevi nasıl çalışır ve sözdizimi nedir?

format() işlevi, dinamik verilerin bir dizeye nereye ekleneceğini belirtmek için küme parantezleri {} biçiminde yer tutucular kullanır. İstediğiniz kadar yer tutucu ekleyebilirsiniz ve bunlar dize içinde herhangi bir yere yerleştirilebilir.

format() işlevini çağırdığınızda, yer tutuculara eklenmesi gereken değerleri iletirsiniz. Değerler, yer tutucularda göründükleri sırayla aktarılır.

Örneğin, önceki örnekte {} yer tutucudur. isim ve yas ise format fonksiyonuna aktarılan değerlerdir.

Ayrıca konumsal ve anahtar kelime argümanları da ekleyebilirsiniz.

isim = "Ahmet"
yas = 30

metin = "Merhaba, benim adım {0} ve yaşım {1}.".format(isim, yas)

print(metin)

Bu, daha önce olduğu gibi aynı dizeyi çıktılayacaktır: “Merhaba, benim adım Ahmet ve yaşım 30.”

Bu örnekte, {0} ve {1} yer tutucular, isim ve yas ise yine format fonksiyonuna aktarılan değerlerdir.

Ayrıca anahtar kelime argümanları da ekleyebilirsiniz.

isim = "Ahmet"
yas = 30

metin = "Merhaba, benim adım {isim} ve yaşım {yas}.".format(isim=isim, yas=yas)

print(metin)

Bu kod parçası da daha önce olduğu gibi aynı dizeyi çıktılayacaktır: “Merhaba, benim adım Ahmet ve yaşım 30.”

Bu örnekte, {isim} ve {yas} yer tutuculardır ve isim ve yas format fonksiyonuna aktarılan anahtar kelime argümanlarıdır.

Örneklerle format() fonksiyonunun kullanımı

format() fonksiyonunun nasıl çalıştığına ilişkin temel bilgileri anladığınıza göre, şimdi bu fonksiyonu kendi kodunuzda nasıl kullanabileceğinize ilişkin bazı örneklere göz atalım.

Örnek 1: Sayıları Biçimlendirme

x = 3.14159

print("x'in değeri {:.2f}".format(x))

Bu örnekte, {:.2f} yer tutucudur ve x format fonksiyonuna aktarılan değerdir. .2f, format() fonksiyonuna x değerini 2 ondalık basamaklı bir float olarak biçimlendirmesini söyler. Sonuçta elde edilen çıktı şöyle olacaktır: “x’in değeri 3,14”

Örnek 2: Tarihleri Biçimlendirme

from datetime import datetime

tarih = datetime.now()

print("Bugünün tarihi {:%Y-%m-%d}".format(tarih))

Yukarıdaki örnekte, {:%Y-%m-%d} yer tutucudur ve tarih format fonksiyonuna aktarılan değerdir. :%Y-%m-%d, format() fonksiyonuna tarih değerini YYY-MM-DD biçiminde bir tarih olarak biçimlendirmesini söyler. Sonuçta elde edilen çıktı “Bugünün tarihi 2021-01-13” olacaktır.

Örnek 3: Dizeleri Biçimlendirme

isim = "Ahmet"
print("Benim adım {:>10}".format(isim))

Bu örnekte, {:>10} yer tutucudur ve isim format fonksiyonuna aktarılan değerdir. :>10, format() fonksiyonuna isim değerini 10 genişliğinde bir alan içinde sağa hizalamasını söyler. Çıktı “Benim adım Ahmet” olacaktır.

Örnek 4: Birden Fazla Yer Tutucu ile Biçimlendirme

isim = "Ahmet"
yas = 30

metin = "Merhaba, benim adım {0} ve yaşım {1}.".format(isim, yas)

print(metin)

Aslında bu örneği yukarıda gördük; Burada {0} ve {1} yer tutucular, isim ve yas ise format fonksiyonuna aktarılan değerlerdir. Bu örnek, bir dize içinde birden fazla yer tutucuyu nasıl kullanabileceğinizi ve bunları uygun şekilde nasıl biçimlendirebileceğinizi gösterir. Elde edilen çıktı “Merhaba, benim adım Ahmet ve yaşım 30.” olacaktır.

Örnek 5: format fonksiyonunu sözlük ile kullanma

data = {'isim': 'Ahmet', 'yas': 30}

metin = "Merhaba, benim adım {isim} ve yaşım {yas}.".format(**data)

print(metin)

{isim} ve {yas} yer tutuculardır ve data format fonksiyonuna aktarılan bir sözlüktür. Bu örnek, dizeyi biçimlendirmek için sözlükleri nasıl kullanabileceğinizi göstermektedir. Çıktı, yukarıdaki örneklere benzer şekilde “Merhaba, benim adım Ahmet ve yaşım 30.” olacaktır.

Uygulama açısından bu işlev için yaygın kullanım durumları nelerdir?

format() fonksiyonunun çeşitli senaryolarda nasıl kullanıldığını gördüğünüze göre, şimdi bu fonksiyonun gerçek dünya uygulamalarındaki bazı yaygın kullanım durumlarına bir göz atalım.

  • Kullanıcı girdisi veya kodunuzdaki değişkenler gibi dinamik veriler içeren dizeler oluşturma
  • Sayıları, tarihleri ve dizeleri belirli bir şekilde biçimlendirme
  • E-postalar, mesajlar veya dinamik veriler içeren diğer içerik türleri için şablonlar oluşturma
  • Birden çok yer tutucu ve değer içeren dizeler oluşturma
  • Hata ayıklama veya günlük kaydı amacıyla biçimlendirilmiş çıktı oluşturma
  • Dizeyi biçimlendirmek için sözlükleri kullanma

Ayrıca format() fonksiyonu, daha da güçlü ve esnek dize biçimlendirmesi oluşturmak için dize enterpolasyonu gibi diğer Python özellikleriyle birlikte de kullanılabilir.

Kodunuzdaki güvenlik açıklarını önlemek için format() işlevinin girdi doğrulama ve sanitizasyon gibi diğer yöntemlerle birlikte kullanılması gerektiğini belirtmek gerekir.

Sonuç olarak, format() çok kullanışlı bir işlevdir. Dizeleri ve değişkenleri manuel olarak birleştirmek zorunda kalmadan bir dizeye dinamik veri eklemeyi kolaylaştırır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back to top