0Pricing
Python Academy · Ders

Şablon Dizeleri ve str.format

Diğer biçimlendirme araçları

Şablon Dizeleri ve str.format, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.

Diğer biçimlendirme araçları

Python, f dizelerinin yanı sıra iki biçimlendirme aracı daha sunar: str.format() yöntemi ve string.Template sınıfı. Her biri farklı durumlar için uygundur.

print('Hello, {}!'.format('World'))

str.format temelleri

str.format(), {} yer tutucularını bağımsız değişkenlerle sırayla değiştirir. F dizelerinden daha önce kullanıma sunulmuştur ve hâlâ pek çok kodda görülür.

msg = '{} is {} years old'.format('Ada', 36)
print(msg)

Konumsal indeksler

Bağımsız değişkenleri konumlarına göre yeniden kullanmak veya sıralarını değiştirmek için süslü parantezlerin içine sayılar koyun.

print('{0} {1} {0}'.format('echo', 'once'))

Adlandırılmış yer tutucular

Süslü parantezlerin içinde adlar kullanın ve anahtar sözcük bağımsız değişkenleri verin. Bu, şablonları kendi kendini açıklayan hâle getirir.

print('{name} scored {score}'.format(name='Lin', score=95))

Biçim belirtimleri hâlâ geçerli

Aynı mini dil, str.format içinde iki noktadan sonra da çalışır; böylece genişliği, kesinliği ve hizalamayı denetleyebilirsiniz.

print('{:.2f}'.format(3.14159))
print('{:>8}'.format('hi'))

Sözlükten biçimlendirme

Adlandırılmış yer tutucuları doldurmak için bir sözlüğü ** ile str.format içine açarak aktarın.

data = {'city': 'Rome', 'temp': 27}
print('{city}: {temp} C'.format(**data))

Template dizelerine giriş

string.Template, $ tabanlı yer tutucular kullanır. Kasıtlı olarak basittir ve kullanıcı tarafından sağlanan şablonlar için daha güvenlidir; çünkü rastgele ifadeleri çalıştıramaz.

from string import Template
t = Template('Hello, $name!')
print(t.substitute(name='World'))

Açıklık için süslü parantezler

Bir yer tutucu adı başka bir metnin yanında yer alıyorsa ${name} örneğindeki gibi adı süslü parantezlerin içine alın.

from string import Template
t = Template('${item}s cost $$5')
print(t.substitute(item='apple'))

safe_substitute

substitute, eksik adlar için KeyError oluşturur. Bunun yerine safe_substitute, bilinmeyen yer tutucuları olduğu gibi bırakır.

from string import Template
t = Template('$greeting, $name')
print(t.safe_substitute(greeting='Hi'))

Hangisini ne zaman kullanmalı

Yönergeler: Günlük kodlarda f dizelerini tercih edin. Şablon verilerden ayrı olduğunda str.format kullanın. Güvenilmeyen, kullanıcı tarafından sağlanan şablonlar için Şablon kullanın.

name = 'Sam'
print(f'f-string: {name}')
print('format: {}'.format(name))

Harici metinden şablonlar

Şablon metni yalnızca bir dize olduğundan, metni bir yapılandırma dosyasından veya veritabanından yükleyebilir, ardından değerleri çalışma zamanında yerlerine yerleştirebilirsiniz.

from string import Template
stored = 'Order $id ships to $city'
t = Template(stored)
print(t.substitute(id=7, city='Oslo'))

Hızlı Kontrol

Güvenilmeyen bir kullanıcı tarafından sağlanan şablona değerleri yerleştirmek için hangi araç en güvenlidir?

Özet: Şablon Dizeleri ve str.format

f dizelerine alternatiflerin özeti:

  • str.format(), konumsal, adlandırılmış ve tam biçim belirtimini destekleyen {} yer tutucularını kullanır.
  • string.Template, $name yer tutucularını kullanır ve güvenilmeyen girdiler için güvenlidir.
  • safe_substitute, bilinmeyen yer tutucuları oldukları gibi bırakır.
  • Normal kod için f dizelerini tercih edin; şablonlar harici kaynaklardan geliyor veya güvenilmiyorsa bu araçları kullanın.
from string import Template
print(Template('Bye, $who').substitute(who='all'))
print('Done: {}'.format(True))

Sıkça Sorulan Sorular

“Şablon Dizeleri ve str.format” dersi ücretsiz mi?

Evet — “Şablon Dizeleri ve str.format” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.

“Şablon Dizeleri ve str.format” dersinde ne öğreneceğim?

Diğer biçimlendirme araçları Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Python Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Şablon Dizeleri ve str.format” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. f-string İfadeleri
  2. Biçim Belirteçleri
  3. Biçim Mini Dili
  4. Şablon Dizeleri ve str.format
← Python Academy Sayfasına Dön