Python F-Strings: Interpolasi String Tingkat Lanjut

Pelajari cara memformat string dengan Python menggunakan F-string. Evaluasi ekspresi master, pemformatan presisi float, pencetakan tanggal-waktu, dan sintaksis yang mendokumentasikan mandiri.

Coba di Editor

Ikhtisar

Memformat string adalah tugas yang dilakukan pengembang setiap hari. Secara historis, pemformatan Python mengandalkan pemformatan `%` gaya C atau metode `.format()`. Meskipun berfungsi, gaya sintaksis lama ini sering kali menghasilkan kode yang bertele-tele dan sulit dibaca.Python 3.6 memperkenalkan Literal String Terformat, umumnya dikenal sebagai F-string. F-string menyediakan sintaksis yang ringkas, mudah dibaca, dan sangat optimal untuk memasukkan variabel dan ekspresi langsung ke dalam literal string.

Untuk membuat string-F, Anda mengawali literal string dengan `f` atau `F` (misalnya, `f"Hello {name}"`). Variabel atau ekspresi Python apa pun yang ditempatkan di dalam kurung kurawal `{...}` dievaluasi saat runtime dan dikonversi menjadi string secara otomatis. F-string tidak hanya untuk variabel; Anda dapat memanggil fungsi, melakukan perhitungan matematika, dan bahkan mengakses nilai kamus di dalam kurung kurawal, sehingga menghilangkan kebutuhan akan variabel sementara.

F-string juga menampilkan bahasa pemformatan yang kaya. Dengan menambahkan titik dua `:` di dalam kurung kurawal, Anda dapat menentukan aturan pemformatan. Misalnya, `{value:.2f}` membulatkan float ke dua angka desimal, `{num:03d}` memasukkan bilangan bulat dengan nol di depannya, dan `{date:%Y-%m-%d}` memformat objek tanggalwaktu. DiPython 3.8+, F-string memperkenalkan sintaks debugging `{variable=}`, yang mencetak nama variabel dan nilainya secara otomatis, membuat proses debug menjadi cepat dan mudah.

Kode & Output Eksekusi

Mendemonstrasikan pemformatan float, evaluasi ekspresi, dan mendokumentasikan sendiri proses debug tanda sama dengan.

fstrings_demo.py
Coba di Editor
name = "Charlie"
price = 19.995
quantity = 3

# Basic interpolation and math evaluation
receipt = f"Customer: {name} | Total: ${price * quantity:.2f}"
print(receipt)

# Padding and alignment
number = 42
padded = f"ID: {number:05d}"
print(padded)

# Self-documenting debugging syntax (Python 3.8+)
value = 100
print(f"Debug output: {value=}")
Keluaran Terminal
Customer: Charlie | Total: $59.99
ID: 00042
Debug output: value=100

Implementasi Langkah demi Langkah

  • Mempercantik keluaran numerik dalam laporan dan dasbor
  • Membuat kueri SQL dinamis atau muatan permintaan API
  • Mencetak pernyataan debug cepat selama pengujian lokal

Pertanyaan yang Sering Diajukan

Apakah F-string lebih cepat daripada metode pemformatan string lainnya?

Ya, F-string lebih cepat daripada % pemformatan dan .format() karena dievaluasi saat runtime sebagai bytecode yang dioptimalkan daripada diurai saat eksekusi.

Bagaimana cara mencetak kurung kurawal literal dalam string-F?

Anda dapat menghindari kurung kurawal literal dengan menggandakannya, misalnya f"{{Halo}}" akan mencetak teks literal '{Halo}'.

Topik Terkait

Sumber Daya Python yang Direkomendasikan

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