Python'da Dize Biçimlendirmenin Farklı Yolları: En İyi 3 Yöntem
Yayınlanan: 2021-02-23Dize biçimlendirme, dizilere kullanıcı tarafından belirlenen değerleri ve konumları biçimlendirmek veya eklemek için programlama dillerinde önemli bir özelliktir. C dilinin bunu yapmanın bir yolu vardı, eğer C dili ile biraz deneyiminiz varsa aşina olabilirsiniz. Ancak Python, dize biçimlendirmesi yapmanın 1, 2'yi değil, 3 farklı yolunu destekler. Her yolun, bu eğitimde göreceğimiz avantajları ve dezavantajları vardır. Ayrıca 3 yöntemden hangisinin en çok kullanılan ve verimli yol olduğunu göreceğiz.
Dünyanın en iyi Üniversitelerinden çevrimiçi veri bilimi kurslarını öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
Bu eğitimin sonunda aşağıdakileri bileceksiniz:
- Dize biçimlendirmenin farklı yolları
- Örneklerle kullanımları
- En çok hangi yol tercih edilir
İçindekiler
Dize Biçimlendirmenin Farklı Yolları
Python, dize biçimlendirmesini iyileştirmek için birden çok güncelleme alıyor. Her birinin üzerinden tek tek geçelim.
Yöntem 1: C Stili Dize Biçimlendirme
Python, her veri türü için özel karakterler kullanarak eski dize biçimlendirme yöntemini içerir. Bu eski güzel dize biçimlendirme yöntemi C dilinden alınmıştır ve hala çok etkilidir. Dizeleri biçimlendirmek için her veri türü için ayrılmış bir karakterin ardından gelen bir dize biçimi belirteci "%" kullanılır.
Bunu anlamak için küçük bir örnek üzerinden gidelim:
sayı = 8 isim = "pembe adam" print(“Ad %s ve numara %d” %( isim, sayı)) |
#Çıktı >> “Adı Pinkman ve numarası 8” |
Gördüğünüz gibi, %s biçim belirteci dize adını biçimlendirmek için ve %d tamsayıyı biçimlendirmek için kullanıldı. Benzer şekilde, bir kayan nokta için de bir biçim belirteci vardır. Bunu da kontrol edelim.
sayı = 4.32 lis = [ 1 , 3 , 5 ] print( “liste %s ve kayan nokta %f” %(lis, num)) |
#Çıktı >> liste [ 1 , 3 , 5 ] ve kayan nokta 4.320000 |
Yukarıdaki örnekte, kayan değeri biçimlendirmek için %f biçim belirtecini kullanıyorum. Burada dikkat edilmesi gereken iki şey var. Birincisi, kayan değer sadece 4,32 değil, 4,320000 olarak yazdırılır. Neden öyle? Bunun nedeni, Python'un varsayılan olarak kayan noktalar için 6 ondalık nokta doğruluğu kullanmasıdır. İkinci olarak, string format belirteci kullanarak bir liste yazdırdım. Bu, %s biçim belirtecinin herhangi bir veri türünü alabileceği anlamına gelmez. Sadece dizgeye dönüştürür ve yazdırır. Dolayısıyla yazdırılan liste aslında bir liste değil, bir dizedir.
Pekala, kaç ondalık nokta doğruluğunun gerekli olduğunu nasıl belirleyebilirim?
print(“liste %s ve 2 nokta doğrulukla kayan nokta %.2f” %(lis, num)) |
#Çıktı >> liste [ 1 , 3 , 5 ] ve kayan nokta 4.32 |
Burada dikkat edilmesi gereken bir diğer nokta da değişkenleri string içerisinde kullanıldıkları sıraya göre vermemiz gerektiğidir. Sıra değiştirilirse, çıktı buna göre etkilenecek şekilde ayarlanır. Değişkenleri her seferinde doğru sırada vermemizi gerektirmemenin bir alternatifi, dize biçimlendirmesini biraz farklı bir şekilde kullanmaktır.
print(“liste %(a)s ve kayan nokta %(b)f” %{“b”: num, “a”: lis}) |
#Çıktı >> liste [ 1 , 3 , 5 ] ve kayan nokta 4.320000 |
Ve gördüğünüz gibi, bunu yazmak çok zahmetli.
Özetlemek gerekirse, en sık kullanılan 3 format belirteci:
- dizeler için %s
- tamsayılar için %d
- %.<ondalık doğruluk>f kayan noktalar için
Yöntem 2: Yeni Stil Dize Biçimlendirme
Python 3, dizelerde format() yöntemini kullanarak dize biçimlendirme yapmanın daha iyi bir yolunu sundu. Kıvrımlı parantezler yerleştirilerek bir yer tutucu kullanılır ve format yöntemi, dizedeki bu konumlara yerleştirilmesi gereken değişkenleri içerir. Bunu anlamak için küçük bir örneğe bakalım.
isim = "skyler" print(“Merhaba, benim adım {}”.format(isim)) |
#Çıktı >> Merhaba, benim adım skyler |
Bu, yukarıda gördüğümüz eski tarz biçimlendirmeden çok daha iyidir. Kıvrımlı parantezler, bir dize içeren değişken adı için yer tutucu görevi görür. Format yöntemiyle, eski stil biçimlendirmede yaptığımız gibi değişkenin veri türünü belirtmemize gerek olmadığını unutmayın.
Rakamlarla da bir örnek:
sayı = 3 int = 4.34 isim = "jessy" print( “Merhaba, benim adım {}, sayı {} ve kayan nokta {}” .format(name, num, int)) |
#Çıktı >> Merhaba, benim adım jessy , sayı 3 ve şamandıra 4.34 |
Düzenli! Gördüğünüz gibi, değişkenlerin dizgede kullanıldıkları sıraya göre format yöntemine iletilmesi gerekiyor. Tüm değişkenleri doğru sırada iletmemizi gerektirmeden format yöntemini kullanmanın başka bir yolu:
print(“Merhaba, benim adım {isim}, sayı {num} ve kayan nokta {int}”.format(int=int, num=num , name=name)) |
#Çıktı >> Merhaba, benim adım jessy , sayı 3 ve şamandıra 4.34 |
Yukarıdaki örnekte, değişkenler yer tutucularda açıkça belirtildiğinde, bunları format yöntemine doğru sırada iletme ihtiyacının artık gerekli olmadığını görüyoruz.
Ayrıca, onları daha iyi takip edebilmek için değişkenin konumunu yer tutuculara da geçirebiliriz.
print(“Merhaba, benim adım {0}, sayı {1} ve kayan nokta {2}”.format(name, num, int)) |
#Çıktı >> Merhaba, benim adım jessy , sayı 3 ve şamandıra 4.34 |
Yöntem 3: F-Dizelerini Kullanma
Python 3.6'da tanıtılan f-strings, string biçimlendirme yapmanın en kolay ve en etkili yoludur. Bunlara biçimlendirilmiş dize değişmezleri de denir . Python'a onu biçimlendirilmiş bir dizge olarak ele almasını söylemek için dizgenin başındaki f harfini kullanırlar. Yer tutucular, o konuma yerleştirilmesi gereken gerçek değişkenleri içerir.
Bir örneğe bakalım.
isim = "heisenberg" fatura = 100.43print(f”Ad {name} ve fatura {bill}”) |
#Çıktı >> İsim heisenberg ve fatura 100.43 . |
Bu oldukça kolaydı. Ayrıca değişkenler yerine doğrudan ifadeleri de koyabiliriz.
bir = 5 b = 8 print( f”Toplam {a+b} “ ) |
#Çıktı >> Toplam 13'tür |
Ayrıca işlevleri doğrudan çağırabilir ve çıktılarını dize değişmezlerinde alabiliriz.
print( f”Adı {name.upper()} “ ) |
#Çıktı >> Adı HEISENBERG'dir |
Ayrıca, f dizelerini doğrudan işlevlerden de değer döndürmek için kullanabiliriz.
def birleştirici(isim, yaş, para): dönüş f”{name}, {age} yaşında ve maaşı {money}” |
Saul Goodman 45 yaşında ve maaşı 2000000 |
Gördüğümüz gibi fonksiyonları direk olarak yer tutuculara ilettiğimizde fonksiyonları çağırıyor ve çıktıları direk kaşlı ayraçlara yerleştiriyor. Açıkçası, bu Dize Biçimlendirme yöntemi en verimli olanıdır ve yazması kolaydır.
Ödeme: Python Mülakat Soruları ve Cevapları
Gitmeden önce
Dize biçimlendirme normal bir iştir ve Python'un biçimlendirme yöntemini ve f dizelerini tanıtma şekli, Python ile çalışan insanlar için bunu çok kolaylaştırır. F-string'ler, yazmayı ve korumayı çok kolaylaştırdığından, string formatlama ile çalışmanın en çok kullanılan ve tercih edilen yoludur. Ayrıca, kodu daha Pythonic yapar! Kaputun altında, f dizeleri __format__ protokolünü kullanır. f değişmezi, python'un kullanıcılarına dize biçimlendirmesini yazmamızı kolaylaştırmak için sunduğu sözdizimsel şekerdir.
Veri bilimi hakkında bilgi edinmek istiyorsanız, IIIT -B & upGrad'ın çalışan profesyoneller için oluşturulmuş ve 10'dan fazla vaka çalışması ve proje, uygulamalı uygulamalı atölye çalışmaları, endüstri uzmanlarıyla mentorluk, 1 Endüstri danışmanlarıyla bire bir, en iyi firmalarla 400+ saat öğrenim ve iş yardımı.
1. Python'un yerleşik dize formatı() yöntemi, sağlanan bir dizeyi daha kullanışlı bir çıktıya dönüştürür. Python3'teki format() işlevi, değer biçimlendirmenin yanı sıra birden çok ikameye izin veren dize biçimlendirme yöntemlerinden biridir. format() yöntemi, bir dize içindeki öğeleri birleştirmek için konumsal biçimlendirmeyi kullanır. Bilgisayara bir sonraki dizenin yeni bir satırda olmasını istemediğinizi söylemek için Python 3'teki print yönteminize fazladan bir argüman ekleyin. Aşağıdaki senaryoyu düşünün. 1. Bir dosyadan okumanın yanı sıra terminal aracılığıyla kullanıcı girişi yoluyla bir kayan nokta değeri elde edersek, bunlar dize nesneleridir. Sonuç olarak, toplama, çarpma vb. gibi gerekli işlemleri yapabilmek için bunları açıkça float'a çevirmeliyiz.Python 3'teki hangi biçimlendirme yöntemleri birden çok ikameye ve değer biçimlendirmesine izin verir?
2. Dize, çok sayıda süslü parantez çifti kullanılarak biçimlendirilebilir. Uzun bir dizide başka bir değişken değiştirme gerekiyorsa, ikinci küme parantezleri eklenebilir ve ikinci değer prosedüre geçirilebilir.
3. Python'daki format() işlevi herhangi bir sayıda parametreyi kabul eder. Bununla birlikte, öncelikle aşağıdaki iki tür parametreye ayrılır.
a. Konumsal parametreler, parametrenin indeksini küme parantezleri (indeks) içine koyarak alınabilen bir parametre listesidir.
B. Anahtar sözcük parametreleri – Bu, küme parantezleri içinde parametrenin anahtarı kullanılarak erişilebilen anahtar=değer parametrelerinin bir listesidir.
4. format() yöntemi, biçimlendirilmiş bir dize döndürür. format() işlevi, kendisine sağlanan bağımsız değişkenlerin türünü okur ve bunları dizedeki biçim kodlarına göre biçimlendirir. Python 3'te yeni satır olmadan nasıl yazdırırsınız?
print('Hoş Geldiniz!', bitiş = ')
Bu durumda, aynı satırda başka herhangi bir yazdırma işlevi görünecektir. Python'da string'i float'a dönüştürebilir miyiz?
2. Python'daki float() yöntemi, bir dizgiyi bir şamandıraya dönüştürmek için kullanılabilir. Kayan noktalı bir sayıyı bir nesneye dönüştürmek için yerleşik bir işlevdir. Dahili olarak, float() işlevi, sağlanan nesnenin __float__() işlevini çağırır.