Daftar Referensi Python

Python menyediakan dua bentuk format(): method str.format() untuk mengisi placeholder {}, serta fungsi bawaan format(nilai, format_spec) untuk mengubah satu nilai menjadi string dengan format tertentu. Untuk kasus sehari-hari, f-string biasanya lebih ringkas.

Sintaks

"teks {} teks {}".format(nilai1, nilai2)
format(nilai, "format_spec")

Parameter

Bentuk placeholder Arti
{} Diisi berurutan sesuai argumen
{0}, {1} Diisi argumen bernomor — boleh dipakai berulang
{nama} Diisi keyword argument: .format(nama="Rina")
{:.2f}, {:,} Dengan format spec: 2 desimal, pemisah ribuan, dan sebagainya

Untuk fungsi bawaan format(nilai, format_spec), parameter nilai wajib diisi dan format_spec bersifat opsional. Format spec adalah teks seperti .2f, ,, atau 08b.

Nilai balik: string baru yang sudah diformat.

Contoh

teks = "Halo, {}! Umurmu {} tahun.".format("Andi", 17)
print(teks)

Coba di IDE

Output:

Halo, Andi! Umurmu 17 tahun.

Contoh Lainnya

Placeholder bernama

pesan = "{nama} tinggal di {kota}".format(
    nama="Rina", kota="Bandung")
print(pesan)

Coba di IDE

Output:

Rina tinggal di Bandung

Placeholder bernomor: boleh diulang

print("{0} {1} {0}".format("tik", "tok"))

Coba di IDE

Output:

tik tok tik

Format angka: ribuan dan desimal

print("Rp{:,}".format(1500000))
print("{:.2f}".format(3.14159))

Coba di IDE

Output:

Rp1,500,000
3.14

Format spec yang sama (:, dan :.2f) juga berlaku persis di dalam f-string.

Fungsi bawaan format()

print(format(1234.567, ".2f"))
print(format(1500000, ","))
print(format(42, "08b"))

Coba di IDE

Output:

1234.57
1,500,000
00101010

Kesalahan Umum

  • Placeholder lebih banyak daripada argumen → IndexError: Replacement index out of range.
  • Lupa memanggil .format(){} tercetak mentah apa adanya.
  • Nama placeholder tidak cocok dengan keyword → KeyError.
  • Format spec tidak cocok dengan tipe nilai → ValueError, misalnya format("teks", ".2f").
  • Untuk kasus sederhana, f-string lebih terbaca: f"Halo, {nama}!" — pakai format() hanya saat memang butuh template terpisah.

Pelajari Lebih Lanjut