Kurs
1. Giriş
String biçimlendirme nedir?
String biçimlendirme, belirli bir programlama dilinin sunduğu biçimlendirme tekniklerini kullanarak string'inizi çekici bir şekilde düzenlemenizdir. Python'da farklı string biçimlendirme tekniklerimiz var. Şimdi yeni f-string biçimlendirme tekniğini inceleyeceğiz.
f-string, programın çalışma zamanında değerlendirilir. Önceki yöntemlere kıyasla oldukça hızlıdır.
f-string, Python'daki önceki string biçimlendirme tekniklerine göre daha kolay bir sözdizimine sahiptir. Farklı örneklerle bu biçimlendirmenin her yönünü keşfedeceğiz.
Bu eğitimdeki kodu çevrimiçi olarak çalıştırın ve düzenleyin
Kodu çalıştır1.1. Sözdizimi
Her f-string ifadesi iki bölümden oluşur: biri f veya F karakteri, diğeri ise biçimlendirmek istediğimiz string. String, tek, çift veya üçlü tırnaklar içinde yer alır.
Hadi sözdizimine bakalım.
## we can also use F, '', ''''', """"""'
f"string"
string yerine, biçimlendireceğimiz cümleyi yerleştirmemiz gerekir.
2. Değişkenleri Görüntüleme
Eskiden string'leri biçimlendirmek için çoğunlukla str.format() yöntemini kullanırdık. Ama zaman değişti; şimdi çabalarımızı iki kat hızlandıracak yeni bir yöntemimiz var.
Küme parantezleri { } içindeki değişkenler, normal bir print ifadesinde olduğu gibi çıktıda gösterilir. Bir örneğe bakalım.
## declaring variables
name = "Datacamp"
type_of_company = "Educational"
## enclose your variable within the {} to display it's value in the output
print(f"{name} is an {type_of_company} company.")
Datacamp is an Educational company.
Çıktıda değişkenlerin değerlerini aldık. Gördüğünüz gibi, kolay. Ayrıca f yerine F de kullanabiliriz.
## declaring variables
name = "Datacamp"
type_of_company = "Educational"
## enclose your variable within the {} to display it's value in the output
print(F"{name} is an {type_of_company} company.")
Datacamp is an Educational company.
f küçük ya da büyük olsun, aynı şekilde çalışır.
3. İfadeler
Peki, bir string içinde aritmetik, fonksiyon çağrıları vb. ifadeleri değerlendirebilsek? Kulağa hoş geliyor, değil mi! Evet! String içinde ifadeler kullanmak oldukça heyecan verici. f-string, string içinde ifadeleri değerlendirmemize olanak tanır.
Değerlendirmek için ifadeyi { } içine yerleştirmeniz yeterlidir. f-string bunu programın çalışma zamanında değerlendirir. Zaman ve kod tasarrufu sağlayan harika bir özelliktir.
Farklı ifade türlerine örnekler görelim.
## arithmetic expression
print(f"{5 * 5}")
25
{ } içinde fonksiyonları da çağırabiliriz. Bir greet() fonksiyonu tanımlayalım ve onu f-string içinde çağıralım.
def greet(name):
return "Hello, " + name
## calling the function using f-string
name = "Datacamp"
print(f"{greet(name)}")
Hello, Datacamp
Aynı şekilde, önceden tanımlı metotları da çağırabiliriz. Görelim.
## calling the 'title' method which makes the first letter of every word upper
string = "datacamp is an educational company."
print(f"{string.title()}")
Datacamp Is An Educational Company.
f-string ile başka neler yapabiliriz? Nesneyi görüntüleyebilir miyiz? Evet, yapabiliriz. Değişkenlerin çıktısını gösterirken yaptığımızla aynıdır.
class Sample:
def __init__(self, name, age):
self.name = name
self.age = age
## this method will be called when we print the object
def __str__(self):
return f'{self.name} is {self.age} years old.'
john = Sample("John", 19)
## it'll wake up the __str__() method
print(f"{john}")
John is 19 years old.
4. Özel Karakterler
Peki {}, \', \" gibi, Python tarafından özel anlamlar için dahili olarak kullanılan özel karakterleri göstermek istersek ne olur? f-string içinde kaçış karakteri kullanabilir miyiz? Bu soruların cevaplarına bakalım.
4.1. Tırnak İşaretleri
f-string içinde herhangi bir tırnak işaretini {tek ya da çift ya da üçlü} kullanabiliriz. Tırnak işaretlerini yazdırmak için kaçış karakteri kullanmalıyız. f-string ifadesi ters bölü işaretinin kullanılmasına izin vermez. Onu { } dışına koymamız gerekir.
Bunu örneklerle görelim.
name = "Datacamp"
## displaying single quotations
print(f"Hello, \'{name}\'")
print()
## displaying double quotations
print(f"Hello, \"{name}\"")
Hello, 'Datacamp'
Hello, "Datacamp"
f-strings içinde diğer tırnak türlerine bakalım.
f'{"Hello, Datacamp"}'
'Hello, Datacamp'
f"{'Hello, Datacamp'}"
'Hello, Datacamp'
f"""Hello, Datacamp"""
'Hello, Datacamp'
f'''Hello, Datacamp'''
'Hello, Datacamp'
Üçlü tırnaklar içinde de { } kullanabiliriz.
f-string içindeki { } içine ters bölü yerleştiremezsiniz. { } içinde bulunursa hata alırsınız.
print(f"{\"Datacamp\"}")
File "<ipython-input-60-b9a2502d6274>", line 1
print(f"{\"Datacamp\"}")
^
SyntaxError: f-string expression part cannot include a backslash
4.2. Süslü Parantezler
f-string kullanarak süslü parantezleri yazdırmak için çift parantez seti kullanmalıyız. Bir örneğe bakalım.
print(f"{{Datacamp}}")
{Datacamp}
f-string ile iki set süslü parantez göstermek istiyorsanız, dört set parantez kullanmanız gerekir.
print(f"{{{{Datacamp}}}}")
{{Datacamp}}
5. Sözlükler
f-string içinde sözlük anahtarlarıyla çalışırken biraz dikkatli olmalıyız. Sözlük anahtarıyla f-string için farklı tırnaklar kullanmalısınız. Bir sözlük anahtarı için, f-string ile aynı tırnakları kullanmanıza izin verilmez.
person = {"name": "John", "age": 19}
print(f"{person['name']} is {person['age']} years old.")
John is 19 years old.
Sözlükler söz konusu olduğunda aşağıdaki gibi kullanmanıza izin verilmez.
person = {"name": "John", "age": 19}
print(f'{person['name']} is {person['age']} years old.')
File "<ipython-input-65-6849ff0810ae>", line 2
print(f'{person['name']} is {person['age']} years old.')
^
SyntaxError: invalid syntax
Sonuç
Umarım bu eğitimi okuyarak Python hakkında yeni bir şeyler öğrenmişsinizdir. String'ler ve önceki biçimlendirme teknikleri hakkında daha fazla bilgi edinmek için Datacamp'teki şu eğitime göz atın. Ayrıca DataCamp'in Python'da Düzenli İfadeler kursuna da bakın.
İyi kodlamalar :)
