Zephyrnet Logosu

Python Dizgi Biçimlendirmesinde %s ve %d Arasındaki Fark

Tarih:

Giriş

Dize biçimlendirme, basit bir ifadeyle, bir dizi yer tutucuya bazı özel veya hesaplanmış veriler ekleyerek bir dizi oluşturma işlemidir. Bu, kullanıcı dostu çıktılarla uğraşırken, günlüklerde hata ayıklama yaparken veya çeşitli amaçlar için dinamik metin oluştururken vazgeçilmez bir araçtır.

Python, dizeleri biçimlendirmek için birden çok yol sunar. Üç ana yöntem, kullanılan eski stil biçimlendirmedir. % operatör, str.format() Python 2.6'da ortaya çıkan yöntem ve en modern yol, f-string, Python 3.6'da tanıtıldı.

Süre f-string ve str.format() ifadeleri ve okunabilirlikleri nedeniyle popülerlik kazanmıştır. % operatörü, özellikle eski kod tabanları. Anlama %s ve %dile birlikte kullanılan iki temel biçim belirleyicisi % operatörü, Python'un dizi biçimlendirmesine hakim olmak için çok önemli bir adımdır.

Bu yazıda, derinlemesine inceleyeceğiz %s ve %d farklılıklarını, kullanımlarını ve çeşitli veri türleriyle nasıl etkileşim kurduklarını açıklayan biçim belirticileri. Bu makalenin sonunda, Python'da dize biçimlendirmenin bu önemli yönleri hakkında sağlam bir anlayışa sahip olacaksınız.

%s vs %d: Temeller

Python'da, % string biçimlendirme için operatör kullanılır. Sol argümanı şu şekilde yorumlar: printf-style biçim dizesi doğru bağımsız değişkene uygulanacak, dizeleri çeşitli şekillerde biçimlendirmenize olanak tanır. ile kullanılan en yaygın biçim belirticilerinden ikisi % operatör %s ve %d.

%s Biçim Tanımlayıcı

The %s format belirtici, bir yer tutucudur. dizi. %s belirtici kullanarak nesneyi dönüştürür str(), bu da mutlaka bir dize olması gerekmediği anlamına gelir. Bir sayı veya hatta bir liste gibi herhangi bir Python nesnesi olabilir. Python, bu nesneleri otomatik olarak dize temsillerine dönüştürür:

name = "Bob"
print("Hello, %s!" % name)

Bu bize şunları verecektir:

Hello, Bob!

%d Biçim Tanımlayıcı

Öte yandan, %d format belirtici, bir yer tutucudur. ondalık tam sayı. %d belirtici bir tamsayı veya bir boolean gibi kayıpsız bir tamsayıya dönüştürülebilen bir sayı gerektirir:

age = 25
print("I am %d years old." % age)

Bunun sonucu:

I am 25 years old.

%s Ne Zaman Kullanılır?

The %s biçim belirtici, Python'un dizi biçimlendirme cephaneliğindeki en çok yönlü olanlardan biridir. Sağlanan nesneyi dolaylı olarak kullanarak bir dizgeye dönüştürdüğü için str() işlev, bu belirtici genellikle dizeye gömülecek nesnenin tam türü şu olduğunda kullanılır: bilinmeyen veya alakasız.

Not: Kullandığınızda %s Python'da dize olmayan bir nesneyle biçim belirtici, str() işlevi, onu dize temsiline dönüştürmek için o nesne üzerinde dolaylı olarak çağrılır. Bu şu demek %s sadece dizeleri değil, herhangi bir nesneyi biçimlendirmek için kullanılabilir.

Değişken Veri

Bir dize olarak temsil etmeniz gereken değişken verileriniz varsa, kullanabilirsiniz. %s. Bu, bir kullanıcının adını, bir dosya yolunu veya metinsel olarak temsil edilebilecek diğer bilgileri içerebilir, örneğin:

username = "Bob"
print("Logged in user: %s" % username)

Bu bize şunları sağlayacaktır:

Logged in user: Bob

Dizi Dışı Veriler

Verileriniz bir dizi olmasa bile, yine de kullanabilirsiniz. %s. Python, verileri otomatik olarak dize temsiline dönüştürür. Örneğin, bir dizenin parçası olarak bir liste yazdırmak istiyorsanız:

fruits = ["apple", "banana", "cherry"]
print("Fruits: %s" % fruits)

Bu, aşağıdaki çıktıyı verecektir:

Fruits: ['apple', 'banana', 'cherry']

Tüm diziyi geçtiğimiz için köşeli parantezleri, virgülleri ve kesme işaretlerini de nasıl yazdırdığına dikkat edin.

Çoklu Veri Noktaları

Birden çok veri parçasını bir dize olarak biçimlendirmek istiyorsanız, birden çok kullanabilirsiniz. %s belirleyiciler. sağlamanız gerekecek tanımlama grubu sayısıyla eşleşen verilerin %s belirteçler:

username = "Bob"
access_level = "Admin"
print("User: %s, Access Level: %s" % (username, access_level))

Bu, username ve access_level çıkış dizesinde doğru sırada:

User: Bob, Access Level: Admin

Unutmayın: Süre %s çok yönlüdür ve farklı veri türlerini incelikle işler, veri türünüze ve özel kullanım durumunuza göre her zaman en uygun seçenek olup olmadığını düşünün. Bazı durumlarda, daha spesifik bir biçim belirtici kullanarak (örneğin %d tamsayılar için veya %.2f iki ondalık basamaklı kayan noktalı sayılar için), çıktı biçiminiz üzerinde daha fazla kontrol sağlayabilir.

%d Ne Zaman Kullanılır?

The %d Bir dizgeye bir tamsayı katıştırmak istediğinizde biçim belirleyicisi kullanılır. Bağımsız değişkeni ondalık (10 tabanlı) bir tamsayı olarak ele alır ve dize biçimlendirmede sayısal verilerle uğraşırken güvenilir bir araç olabilir.

Not: Süre %d tamsayıları dizelere gömmek için mükemmel bir araçtır, tamsayı olmayan türleri otomatik olarak dönüştürmediğini not etmek çok önemlidir. Örneğin, kullanarak %d kayan noktalı bir sayı ile sonuçlanacak TypeError. Bir kayan noktalı sayınız varsa, önce onu bir tamsayıya dönüştürmeniz veya kayan noktalı sayılar için tasarlanmış bir biçim belirtici kullanmanız gerekir; %f or %.2f.

Üstelik, süre %d çoğu durumda kullanarak booleleri biçimlendirebilir %s bir boole ile yazdırıldığında daha okunaklı olabilir True or False yerine 1 or 0. Bu nedenle, biçim belirticiye karar verirken her zaman belirli kullanım durumunu ve üzerinde çalıştığınız veri türünü göz önünde bulundurun.

Tamsayı Verisi

Yaş veya sayı gibi tamsayı verileriniz varsa, %d bir dizgeye gömmek için:

age = 25
print("I am %d years old." % age)

En iyi uygulamalar, endüstri tarafından kabul edilen standartlar ve dahil edilen hile sayfası ile Git'i öğrenmek için uygulamalı, pratik kılavuzumuza göz atın. Googling Git komutlarını durdurun ve aslında öğrenmek o!

Bunu çalıştırmak şunlarla sonuçlanır:

I am 25 years old.

Booleans

Ayrıca kullanabilirsiniz %d boole ile. piton ikramları True as 1 ve False as 0:

print("True is %d" % True)
print("False is %d" % False)

Beklendiği gibi, bu bize şunları verecektir:

True is 1
False is 0

Çoklu Tamsayı Veri Noktaları

Birden çok tamsayı veri noktasıyla uğraşıyorsanız, birden çok kullanabilirsiniz. %d belirticiler ve karşılık gelen değerlere sahip bir demet sağlar:

height = 180
weight = 75
print("My height is %d cm and my weight is %d kg." % (height, weight))

Hangi sonuç:

My height is 180 cm and my weight is 75 kg.

Kaçınılması Gereken Hatalar

Python'un dize biçimlendirmesi güçlü bir özelliktir, ancak herhangi bir güçlü araçta olduğu gibi, hataları önlemek ve kodunuzun okunabilirliğini korumak için onu doğru kullanmak önemlidir. Aşağıda, kullanırken kaçınılması gereken en yaygın tuzaklardan bazıları listelenmiştir. %s ve %d.

Uyumsuz Biçim Belirleyicileri

Çalıştığınız veri türü için doğru biçim belirticiyi kullandığınızdan emin olun. kullanma %d tamsayı olmayan türlerle kullanım sırasında hatalara yol açabilir %s Sayısal tipler size çıktı formatı üzerinde istediğiniz kontrolü vermeyebilir.

Yanlış Bağımsız Değişken Sayısı

Birden çok biçim belirtici kullanırken, doğru sayıda bağımsız değişken sağladığınızdan emin olun. Dizedeki biçim belirticilerinin sayısı, sağlanan bağımsız değişkenlerin sayısıyla eşleşmiyorsa, Python bir TypeError:

print("My name is %s and I am %d years old." % ("Bob"))

Çıktı:

TypeError: not enough arguments for format string

Parantezlerin Yanlış Kullanımı

Dize biçimlendirmesi için birden çok bağımsız değişken sağlarken, bunları bir demet içine koymanız gerekir. Parantezlerin unutulması kafa karıştırıcı hatalara yol açabilir:

print("My name is %s and I am %d years old." % "Bob", 25)

Bu, aşağıdaki hataya neden olur:

TypeError: not all arguments converted during string formatting

Parantez ekleyerek düzeltin:

print("My name is %s and I am %d years old." % ("Bob", 25))

kullanma % sözlüklerle

Kullanıldığı zaman % sözlükleri olan operatör, kullanmayı unutmayın %(key)s or %(key)d anahtarı sözlükte belirtmek için. Bunu yapmayı unutmak şunlara yol açabilir: TypeError or KeyError:

data = {"name": "Bob", "age": 25}
print("My name is %s and I am %d years old." % data)

Çıktı:

TypeError: not enough arguments for format string

Anahtarları ekleyerek düzeltin:

data = {"name": "Bob", "age": 25}
print("My name is %(name)s and I am %(age)d years old." % data)

Önerileri: Python'da dize biçimlendirmesini kullanırken, açıklık anahtardır. Kodunuzu başkalarının kolayca anlayabileceği bir şekilde yazın ve girdilerinizi dize biçimlendirme işlemine geçirmeden önce her zaman doğrulayın.

Sonuç

Python'da dize biçimlendirmesinin nüanslarını anlamak, kodunuzun okunabilirliğinin yanı sıra çeşitli veri türleriyle çalışma becerinize yardımcı olabilir. Gördüğümüz gibi, %s ve %d biçim belirticileri, sırasıyla dize ve tamsayı verilerini metne dahil etmek için yararlı araçlardır.

%s verilen nesneyi kullanarak bir dizgeye dönüştürür. str() işlevi, onu herhangi bir veri türü için çok yönlü hale getirirken, %d tamsayılara özgüdür. Bunları uygun şekilde kullanmak ve uyumsuz biçim tanımlayıcıları veya yanlış sayıda bağımsız değişken gibi yaygın hatalardan kaçınmak önemlidir.

süre % operatörü kullanışlı bir dizi biçimlendirme yöntemidir, Python f-dizeleri gibi başka teknikler sağlar. str.format() yöntem ve şablon dizileri, her birinin kendi avantajları vardır. Dize biçimlendirme yönteminin seçimi, büyük ölçüde özel gereksinimlerinize ve kişisel tercihlerinize bağlıdır.

spot_img

En Son İstihbarat

spot_img

Bizimle sohbet

Merhaba! Size nasıl yardım edebilirim?