String Template dan str.format
Alat pemformatan lainnya
String Template dan str.format adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.
Alat pemformatan lainnya
Selain string berawalan f, Python menyediakan dua alat pemformatan lainnya: metode str.format() dan kelas string.Template. Masing-masing cocok untuk situasi yang berbeda.
print('Hello, {}!'.format('World'))Dasar-dasar str.format
str.format() mengganti tempat penampung {} dengan argumen secara berurutan. Fitur ini sudah ada sebelum string berawalan f dan masih banyak digunakan dalam kode.
msg = '{} is {} years old'.format('Ada', 36)
print(msg)Indeks posisi
Letakkan angka di dalam kurung kurawal untuk menggunakan kembali atau mengurutkan ulang argumen berdasarkan posisinya.
print('{0} {1} {0}'.format('echo', 'once'))Tempat penampung bernama
Gunakan nama di dalam kurung kurawal dan berikan argumen kata kunci. Ini membuat templat dapat menjelaskan dirinya sendiri.
print('{name} scored {score}'.format(name='Lin', score=95))Penentu format tetap berlaku
Bahasa mini yang sama dapat digunakan setelah titik dua dalam str.format, sehingga Anda dapat mengatur lebar, presisi, dan perataan.
print('{:.2f}'.format(3.14159))
print('{:>8}'.format('hi'))Memformat dari kamus
Bongkar kamus ke dalam str.format dengan ** untuk mengisi tempat penampung bernama.
data = {'city': 'Rome', 'temp': 27}
print('{city}: {temp} C'.format(**data))Memperkenalkan string templat
string.Template menggunakan tempat penampung berbasis $. Fitur ini sengaja dibuat sederhana dan lebih aman untuk templat yang disediakan pengguna karena tidak dapat menjalankan ekspresi sembarang.
from string import Template
t = Template('Hello, $name!')
print(t.substitute(name='World'))Kurung kurawal untuk kejelasan
Apit nama tempat penampung dengan kurung kurawal, seperti ${name}, saat nama tersebut berada di sebelah teks lain.
from string import Template
t = Template('${item}s cost $$5')
print(t.substitute(item='apple'))safe_substitute
substitute memunculkan KeyError untuk nama yang tidak ditemukan. Sebaliknya, safe_substitute membiarkan tempat penampung yang tidak dikenal tetap apa adanya.
from string import Template
t = Template('$greeting, $name')
print(t.safe_substitute(greeting='Hi'))Kapan menggunakan yang mana
Panduan: gunakan string berawalan f untuk kode sehari-hari. Gunakan str.format saat templat terpisah dari data. Gunakan Templat untuk templat yang tidak tepercaya dan disediakan pengguna.
name = 'Sam'
print(f'f-string: {name}')
print('format: {}'.format(name))Templat dari teks eksternal
Karena teks templat hanyalah string, Anda dapat memuatnya dari berkas konfigurasi atau basis data, lalu mengganti nilainya saat waktu berjalan.
from string import Template
stored = 'Order $id ships to $city'
t = Template(stored)
print(t.substitute(id=7, city='Oslo'))Pemeriksaan Singkat
Alat apa yang paling aman untuk mengganti nilai dalam templat yang disediakan oleh pengguna yang tidak tepercaya?
Ringkasan: String Templat dan str.format
Ringkasan alternatif untuk f-string:
str.format()menggunakan penanda tempat{}, serta mendukung spesifikasi format posisional, bernama, dan lengkap.string.Templatemenggunakan penanda tempat$namedan aman untuk masukan yang tidak tepercaya.safe_substitutemembiarkan penanda tempat yang tidak dikenal tetap pada tempatnya.- Utamakan f-string untuk kode biasa; gunakan alat-alat ini saat templat berasal dari sumber eksternal atau tidak tepercaya.
from string import Template
print(Template('Bye, $who').substitute(who='all'))
print('Done: {}'.format(True))Pertanyaan yang Sering Diajukan
Apakah pelajaran “String Template dan str.format” gratis?
Ya — teks lengkap “String Template dan str.format” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “String Template dan str.format”?
Alat pemformatan lainnya Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Python Academy?
Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “String Template dan str.format” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?
Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Ekspresi f-string
- Penentu Format
- Bahasa Mini Format
- String Template dan str.format