Python String Formatting: Panduan Lengkap untuk Pemula
Pemformatan string adalah keterampilan penting dalam Python yang memungkinkan Anda membuat string yang rapi dan mudah dibaca, sehingga kode menjadi lebih bersih dan mudah dipelihara. Python menyediakan beberapa metode untuk memformat string, termasuk pemformatan lama menggunakan %
, metode str.format()
, dan f-string modern (formatted string literals). Panduan ini akan menjelaskan berbagai cara memformat string di Python, lengkap dengan contoh praktis agar Anda dapat memilih metode yang sesuai dengan kebutuhan.
1. Apa itu Pemformatan String di Python?
Pemformatan string adalah proses memasukkan nilai ke dalam string dengan format tertentu. Ini bisa meliputi penyisipan variabel, format angka, penyelarasan teks, dan lainnya. Python menyediakan beberapa metode untuk memformat string, masing-masing memiliki kelebihan dan kegunaan spesifik.
2. Mengapa Menggunakan Pemformatan String?
Pemformatan string berguna untuk:
- Menyisipkan Nilai ke Dalam String: Mudah menambahkan variabel dan ekspresi ke string.
- Meningkatkan Keterbacaan: String yang terformat rapi lebih mudah dibaca dan dipelihara.
- Memformat Angka dan Tanggal: Mengontrol tampilan angka, mata uang, dan tanggal.
- Menyelaraskan Teks: Format teks untuk alignment, padding, dan spacing agar output lebih rapi.
3. Pemformatan Gaya Lama dengan %
Metode pemformatan lama menggunakan simbol %
sebagai placeholder, mirip dengan format C. Meskipun tergolong usang, metode ini masih digunakan.
name = "Alice"
age = 25
print("Nama saya %s, dan saya berusia %d tahun." % (name, age))
4. Pemformatan dengan str.format()
Metode str.format()
diperkenalkan di Python 2.7 dan 3.0, lebih fleksibel daripada %
. Placeholder menggunakan {}
dan memungkinkan pengaturan nilai serta format di dalam string.
name = "Bob"
age = 30
print("Nama saya {}, dan saya berusia {} tahun.".format(name, age))
Anda juga bisa menggunakan placeholder bernomor untuk mengatur urutan:
print("Nama saya {1}, dan saya berusia {0} tahun.".format(age, name))
5. Pemformatan Modern dengan f-Strings
Diperkenalkan di Python 3.6, f-string adalah cara paling ringkas dan mudah dibaca untuk memformat string. Anda bisa menempatkan ekspresi langsung di dalam {}
.
name = "Charlie"
age = 22
print(f"Nama saya {name}, dan saya berusia {age} tahun.")
F-string juga mendukung ekspresi inline:
width = 10
height = 5
print(f"Luas persegi panjang adalah {width * height}.")
6. Memformat Angka dan Tanggal
Python memungkinkan memformat angka (float, desimal, integer) dan tanggal dengan presisi tertentu, berguna untuk data finansial, perhitungan ilmiah, dan lainnya.
pi = 3.141592653589793
print(f"Pi dibulatkan 2 desimal: {pi:.2f}")
Format tanggal:
from datetime import datetime
now = datetime.now()
print(f"Tanggal hari ini: {now:%Y-%m-%d}")
7. Menyelaraskan Teks dan Padding
Pemformatan string membantu menyelaraskan teks agar output rapi, berguna untuk tabel atau laporan.
- Left Align
<
: Teks rata kiri - Right Align
>
: Teks rata kanan - Center Align
^
: Teks di tengah
print(f"{'Nama':<10} {'Usia':>5}")
print(f"{'Alice':<10} {25:>5}")
print(f"{'Bob':<10} {30:>5}")
8. Menggunakan Named Placeholders
Named placeholders membuat kode lebih mudah dibaca dan dipelihara, terutama jika banyak variabel.
data = {"name": "Diana", "age": 28}
print("Nama saya {name}, dan saya berusia {age} tahun.".format(**data))
9. Kesalahan Umum yang Harus Dihindari
- Mencampur Metode Pemformatan: Hindari mencampur
%
,str.format()
, dan f-string dalam kode yang sama. - Placeholder Salah: Pastikan jumlah placeholder sesuai dengan argumen.
print("Nama saya {}.".format()) # IndexError karena argumen hilang
10. Kesimpulan
Pemformatan string di Python adalah alat yang kuat untuk membuat output yang rapi dan mudah dibaca. Baik menggunakan f-string modern, str.format()
, maupun %
lama, memahami teknik ini akan membuat kode Anda lebih bersih dan ekspresif.