0Pricing
Python Academy · Pelajaran

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.Template menggunakan penanda tempat $name dan aman untuk masukan yang tidak tepercaya.
  • safe_substitute membiarkan 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

  1. Ekspresi f-string
  2. Penentu Format
  3. Bahasa Mini Format
  4. String Template dan str.format
← Kembali ke Python Academy