Kurs
String biçimlendirme, string enterpolasyonu olarak da bilinir. Önceden tanımlanmış bir metne özel bir metin veya değişken ekleme işlemidir.
custom_string = "String formatting"
print(f"{custom_string} is a powerful technique")
String formatting is a powerful technique
Bir veri bilimci olarak bunu grafiğe başlık eklemek, bir mesaj veya hata göstermek ya da bir fonksiyona ifade iletmek için kullanırsınız.
Biçimlendirme Yöntemleri
- Konumsal biçimlendirme
- Biçimlendirilmiş string literal'lar
- Şablon (template) yöntemi
String.Format Yöntemi
Metne, bir çift süslü ayraçla tanımlanan yer tutucular koyarız. String'in dot format metodunu çağırırız. Ardından, istenen değeri bu metoda geçiririz. Metot, yer tutucuları göründükleri sıraya göre geçirilen değerlerle değiştirir:
'text{}'.format(value)
Konumsal Biçimlendirme
Bir string tanımlar ve iki yer tutucu eklersiniz. Aşağıdaki çıktıyı almak için metoda iki string geçiririz:
print("Machine learning provides {} the ability to learn {}".format("systems", "automatically"))
Machine learning provides systems the ability to learn automatically
Hem string hem de metoda geçirilen değerler için değişkenler kullanabiliriz. Aşağıdaki örnek kodda, yer tutucular içeren bir string ve iki başka değişken tanımlıyoruz. String'e, tanımlanan iki değişkeni kullanarak format metodunu uyguluyoruz. Metot string'i okur ve yer tutucuları verilen değerlerle değiştirir.
my_string = "{} rely on {} datasets"
method = "Supervised algorithms"
condition = "labeled"
print(my_string.format(method, condition))
Supervised algorithms rely on labeled datasets
Değerleri Yeniden Sıralama
Aşağıdaki örnekte, değerleri yeniden sıralamak için yer tutuculara indeks numaraları eklersiniz. Bu, metodun yer tutucuları değiştirme sırasını etkiler.
Metot, onları verilen sıradaki değerlerle değiştirir.
print("{} has a friend called {} and a sister called {}". format("Betty", "Linda", "Daisy"))
Betty has a friend called Linda and a sister called Daisy
İndeks numaralarını eklersek, değiştirme sırası buna göre değişir.
print("{2} has a friend called {0} and a sister called {1}". format("Betty", "Linda", "Daisy"))
Daisy has a friend called Betty and a sister called Linda
İsimle Yer Tutucular
Ayrıca anahtar kelime argümanları da tanıtabiliriz; bunlar anahtar adlarıyla çağrılır.
Aşağıdaki örnek kodda, yer tutuculara anahtar kelimeler ekledik. Ardından, bu anahtar kelimeleri format metodunda çağırdık. Son olarak, her biri için hangi değişkenin geçirileceğini atadık ve aşağıdaki çıktıyı elde ettik.
tool="Unsupervised algorithms"
goal="patterns"
print("{title} try to find {aim} in the dataset".format(title=tool, aim=goal))
Unsupervised algorithms try to find patterns in the dataset
Aşağıdaki kodu inceleyelim. tool ve goal anahtarlarına sahip bir sözlük tanımladık.
my_methods = {"tool": "Unsupervised algorithms", "goal": "patterns"}
Değerlerini bir string'e eklemek istiyoruz. Yer tutucuların içinde, metotta belirtilen değişken olan data'nın tool anahtarıyla ilişkili değeri köşeli ayraç gösterimiyle belirtebiliriz. data metotta belirtilen sözlüktür ve tool bu sözlükte bulunan anahtardır.
print('{data[tool]} try to find {data[goal]} in the dataset'.format(data=my_methods))
Dolayısıyla aşağıda gösterilen istenen çıktıyı alırız. Dikkat! İndeksi tırnak işareti kullanmadan belirtmeniz gerekir.
Unsupervised algorithms try to find patterns in the dataset
Biçim Belirleyici
Ayrıca süslü ayraçların içinde biçim belirleyiciyi de yazabiliriz. Bu, tek tek değerlerin nasıl sunulacağını tanımlar. Burada, indeks iki nokta belirleyici sözdizimini kullanacağız. En yaygın biçim belirleyicilerden biri, f ile gösterilen float'tır. Kodda, 0 indeksli değerin bir float olacağını belirtiyoruz.
print("Only {0:f}% of the {1} produced worldwide is {2}!". format(0.5155675, "data", "analyzed"))
Only 0.515567% of the data produced worldwide is analyzed!
Ayrıca float'ın iki ondalık haneye sahip olmasını istediğimizi belirten .2f ekleyebiliriz; bu, elde edilen çıktıda görülebilir.
print("Only {0:.2f}% of the {1} produced worldwide is {2}!".format(0.5155675, "data", "analyzed"))
Only 0.52% of the data produced worldwide is analyzed!
datetime Biçimlendirme
Python'da bugün için tarih ve saati almamıza olanak tanıyan datetime adlı bir modül vardır.
from datetime import datetime
print(datetime.now())
2020-08-08 06:28:42.715243
Ancak döndürülen biçim çok özeldir; biçimi bize daha tanıdık hale getirmek için %y-%m-%d-%h-%m gibi bir biçim belirleyici kullanabilirsiniz!
print("Today's date is {:%Y-%m-%d %H:%M}".format(datetime.now()))
Today's date is 2020-08-08 06:29
Etkileşimli Örnek
Aşağıdaki örnekte, wikipedia_article'ın 4. ile 19. karakterleri ve 22. ile 44. karakterleri arasındaki alt dizeleri sırasıyla first_pos ve second_pos değişkenlerine atayacaksınız. String'leri küçük harfe dönüştürün. Son olarak, first_pos ve second_pos değişkenlerini yazdırın.
# Assign the substrings to the variables
first_pos = wikipedia_article[3:19].lower()
second_pos = wikipedia_article[21:44].lower()
Yukarıdaki kodu çalıştırdığımızda aşağıdaki sonucu üretir:
computer science
artificial intelligence
Konumsal biçimlendirme hakkında daha fazla bilgi için, kursumuzdaki şu videoya bakın: Python'da Düzenli İfadeler.
Bu içerik, Maria Eugenia Inzaugarat'ın DataCamp’in Python'da Düzenli İfadeler kursundan alınmıştır.
Python String Eğitimimize göz atın.
