Python format Kullanımı – Tasarım Kodlama
Python

Python format Kullanımı

String format() methodu, verilen dizeyi Python’da daha güzel bir çıktıya biçimlendirir.

format() yönteminin sözdizimi şöyledir:

Burada p0, p1, … konumsal argümanlar ve k0, k1, … sırasıyla v0, v1, … değerlerine sahip anahtar kelime argümanlarıdır.

ve template, bağımsız değişkenler için yer tutucularla birlikte biçim kodlarının bir karışımıdır.

Dize format() Parametreleri

format() yöntemi herhangi bir sayıda parametre alır. Ancak, iki tür parametreye ayrılmıştır:

  • Konumsal parametreler(Positional parameters)– küme parantezleri içindeki parametre dizini ile erişilebilen parametrelerin listesi {index}
  • Anahtar kelime parametreleri(Keyword parameters) – küme parantezleri içindeki parametre anahtarıyla erişilebilen anahtar = değer türündeki parametrelerin listesi {key}

String format() Mehodunun Dönüş Değeri

format() yöntemi, biçimlendirilmiş dizeyi döndürür.

String format() Nasıl Çalışır?

format() kendisine iletilen argümanların türünü okur ve dizede tanımlanan format kodlarına göre formatlar.

 

Konumsal parametreler

Merhaba {0}, bakiyeniz {1: 9.3f} dizesi şablon dizesidir. Bu, biçimlendirme için biçim kodlarını içerir.

Küme parantezleri, yalnızca argümanların yerleştirileceği yer tutuculardır. Yukarıdaki örnekte, {0} “Ahmet” için yer tutucudur ve {1: 9.3f}, 1234.456789 için yer tutucudur.

Şablon dizesi format() bağımsız değişkenlerine {0} ve {1} olarak başvurduğundan, bağımsız değişkenler konumsal bağımsız değişkenlerdir. {} ve Python dahili olarak bunları sayılara dönüştürdüğü için her ikisine de sayılar olmadan başvurulabilir.

Dahili olarak,

  • “Ahmet” 0. argüman olduğundan, {0} yerine yerleştirilir. {0} başka herhangi bir biçim kodu içermediğinden, başka herhangi bir işlem gerçekleştirmez.
  • Ancak, 1. argüman 1234.456789 için durum böyle değildir. Burada {1: 9.3f} yerine 1234.457  yerleştirir ve 9.3f işlemini gerçekleştirir.
  • f, biçimin bir ondalık sayı ile ilgilendiğini belirtir. Doğru şekilde belirtilmezse, bir hata verecektir.
  • “.” (9), sayının (1234.457) alabileceği minimum genişliği / dolguyu belirtir. Bu durumda, 1234.457 ve “.” dahil minimum 9 yer tahsis edilir.
  • Hizalama seçeneği belirtilmezse, kalan boşlukların sağına hizalanır. (Dizeler için sola hizalanır.)
  • “.” (3) ondalık bölümü (456789) verilen sayıya kadar keser. Bu durumda 456789, 3 basamak sonra kesilir.
  • Kalan sayılar (789) yuvarlanır.

Anahtar kelime parametreleri

Anahtar kelime ve konumsal argümanlar arasındaki farkı göstermek için yukarıdan aynı örneği kullandık.

Burada, sadece parametreler yerine, parametreler için bir anahtar / değer çifti kullandık. Yani isim = “Ahmet” ve bakiye= 1234.456789.

Bu parametrelere anahtarları tarafından {isim} ve {bakiye: 9.3f} olarak başvurulduğundan, bunlar anahtar kelime veya adlandırılmış bağımsız değişkenler olarak bilinirler.

Dahili olarak,

  • Yer tutucusu {isim}, adın değeri – “Ahmet” ile değiştirilir. Başka herhangi bir biçim kodu içermediğinden “Ahmet” yerleştirilir.
  • bakiye= 1234.456789 bağımsız değişkeni için {bakiye: 9.3f} yer tutucusu, 1234.457 değeriyle değiştirilir. Ancak, önceki örnekte olduğu gibi değiştirmeden önce, üzerinde 9.3f işlemi gerçekleştirir.
  • Bu 1234.457 çıktı. Ondalık kısım 3 basamaktan sonra kesilir ve kalan basamaklar yuvarlanır. Aynı şekilde, solda iki boşluk bırakılarak toplam genişlik 9 atanır.

format() ile temel formatlama

format() methodu, biçimlendirme için basit yer tutucuların kullanılmasına izin verir.

Örnek 1: Varsayılan, konumsal ve anahtar kelime bağımsız değişkenleri için temel biçimlendirme

Yukarıdaki kodun çıktısı aşağıdaki gibi olacaktır.

format() ile sayıları biçimlendirme

Aşağıda verilen biçim belirleyicisini kullanarak sayıları biçimlendirebilirsiniz:

Sayı Biçimlendirme Türleri
TipAnlamı
dDecimal integer
cKarşılık gelen Unicode karakteri
bBinary format
oOctal format
xHexadecimal format (küçük harf)
XHexadecimal format (büyük harf)
n“D” ile aynı. Sayı ayırıcı için geçerli yerel ayarı kullanması dışında
eExponential notation. (küçük karaktere)
EExponential notation (büyük karakterE)
fSabit nokta sayısını görüntüler (Varsayılan: 6)
F“F” ile aynı. “İnf” i “INF” olarak ve “nan” ı “NAN” olarak görüntüler
gGenel format. Sayıyı  anlamlı basamağa yuvarlar. (Varsayılan hassasiyet: 6)
G“G” ile aynı. Sayı büyükse “E” ye geçiş .
%Yüzde. 100 ile çarpar ve sonuna% değerini koyar.

Örnek 2: Basit sayı biçimlendirme

Yukarıdaki kodun çıktısı şöyle olacaktır.

Örnek 3: int ve floats için dolgulu sayı biçimlendirme

Ekran çıktısı

Ne yaptık,

  • ilk ifadede, {: 5d} bir tamsayı bağımsız değişkeni alır ve minimum 5 genişlik atar. Hizalama belirtilmediğinden sağa hizalanır.
  • İkinci ifadede, genişliğin (2) sayıdan (1234) daha az olduğunu görebilirsiniz, bu nedenle sola herhangi bir boşluk kalmaz, aynı zamanda sayıyı da kesmez.
  • Tam sayılardan farklı olarak, ondalıkların hem tam sayı hem de ondalık kısımları vardır. Ve sayıya tanımlanan minimum genişlik, “.” dahil bir bütün olarak her iki parça içindir.
  • Üçüncü ifadede, {: 8.3f} ondalık bölümü son 2 rakamı yuvarlayarak 3 haneye böler. Ve şimdi 12.235 olan sayı, 2 sıra sola bırakarak bir bütün olarak 8 genişliğinde.
  • Kalan yerleri sıfır ile doldurmak istiyorsanız, format belirticisi bunu yapmadan önce bir sıfır yerleştirin. Hem tam sayılar hem de kayan sayılar için çalışır: {: 05d} ve {: 08.3f}.

Örnek 4: İşaretli sayılar için sayı biçimlendirme

Kodlar yürütüldüğünde aşağıdaki çıktıyı elde ederiz.

format() ile String Biçimlendirme

Sayı olarak dizge, format() ile benzer şekilde biçimlendirilebilir.

Örnek 6: Doldurma ve hizalamayla dize biçimlendirme

Çıktı

Örnek 7: format () ile dizeleri kesme

Çıktı

format() kullanarak class ve dictionary üyelerini formatlama

Python dahili olarak “.kisi” biçimindeki sınıf üyeleri için getattr() kullanır ve “[dizin]” biçiminde dictionary üyeleri için __getitem __() aramasını kullanır.

Örnek 8: format() kullanarak sınıf üyelerini formatlama

Çıktı:

Örnek 9: dictionary üyelerini format() kullanarak biçimlendirme

Çıktı:

 

Yorum bırak