Cara Memformat String dengan Python (f-string & format)

Pelajari teknik pemformatan string terbaik dengan Python. Bandingkan f-string modern, format(), dan format persentase dengan contoh kode.

Coba Solusi ini di Editor

Ikhtisar

Memformat string adalah kebutuhan sehari-hari untuk merender variabel di dalam pesan, mengeluarkan log, mencetak debug konsol, dan membuat halaman web. Python telah mengembangkan pemformatan string secara signifikan selama bertahun-tahun, menawarkan banyak opsi untuk membuat representasi teks dinamis dengan aman dan terbaca.

Dalam Python modern (3.6+), pendekatan standar dan paling populer adalah memformat dengan f-string (Formatted String Literals). Dengan mengawali string dengan `f` atau `F`, Anda bisa menyematkan ekspresi atau variabel Python langsung di dalam kurung kurawal `{}`. Ekspresi ini dievaluasi saat runtime, membuat f-string lebih cepat dan jauh lebih mudah dibaca dibandingkan metode pemformatan lama.

Basis kode Python lama mungkin menggunakan metode `.format()` atau format persen `%`. Meskipun masih didukung, mereka umumnya tidak disarankan untuk menggunakan kode baru. f-string juga mendukung penentu format inline yang kuat, memungkinkan Anda mengontrol presisi desimal (misalnya, `{value:.2f}`), menyelaraskan teks, atau memformat tanggal langsung di dalam variabel string.

Kode & Output Eksekusi

Skrip ini mendemonstrasikan pencetakan blok teks dinamis menggunakan f-string, memformat float titik mengambang, dan menggunakan .format().

format_strings.py
Coba di Editor
name = "Alice"
age = 30
pi = 3.14159

# 1. Using modern f-strings (Recommended)
greeting_f = f"Hello, my name is {name} and I am {age} years old."
print("f-string:", greeting_f)

# 2. formatting floats (2 decimal places precision)
precision_f = f"Pi rounded: {pi:.2f}"
print(precision_f)

# 3. Using the older .format() method
greeting_format = "Hello, my name is {} and I am {}.".format(name, age)
print(".format():", greeting_format)
Keluaran Terminal
f-string: Hello, my name is Alice and I am 30 years old.
Pi rounded: 3.14
.format(): Hello, my name is Alice and I am 30.

Implementasi Langkah demi Langkah

  • Awali literal string Anda dengan karakter f (mis., f'Halo...').
  • Sisipkan variabel atau ekspresi langsung di dalam kurung kurawal {} di dalam string.
  • Gunakan spesifikasi format seperti :.2f untuk menangani format desimal di dalam kurung kurawal.

Pertanyaan yang Sering Diajukan

Apakah f-string lebih cepat daripada pemformatan .format() dan %?

Ya, f-string dievaluasi saat runtime sebagai operasi bytecode yang dioptimalkan, menjadikannya lebih cepat daripada operator .format() dan %.

Bisakah saya menjalankan fungsi atau mengevaluasi ekspresi di dalam f-string?

Ya, ekspresi Python apa pun yang valid (termasuk operasi matematika, pemanggilan fungsi, dan pencarian kamus) dapat dievaluasi di dalam kurung kurawal.

Topik Terkait

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.