Tidak boleh. Garis miring terbalik tidak bisa muncul di dalam kurung kurawal {}
; melakukan hal itu menghasilkan SyntaxError
:
>>> f'{\}'
SyntaxError: f-string expression part cannot include a backslash
Ini ditentukan dalam PEP untuk f-string:
Garis miring terbalik mungkin tidak muncul di dalam bagian ekspresi f-string, [...]
Salah satu pilihan adalah '\n'
memasukkan nama dan kemudian memilih .join
di dalam f
-string; yaitu, tanpa menggunakan literal:
names = ['Adam', 'Bob', 'Cyril']
nl = '\n'
text = f"Winners are:{nl}{nl.join(names)}"
print(text)
Hasil dalam:
Winners are:
Adam
Bob
Cyril
Opsi lain, sebagaimana ditentukan oleh @wim, adalah menggunakan chr(10)
untuk \n
dikembalikan dan kemudian bergabung di sana.f"Winners are:\n{chr(10).join(names)}"
Namun yang lainnya, tentu saja, adalah '\n'.join
terlebih dahulu dan kemudian menambahkan nama yang sesuai:
n = "\n".join(names)
text = f"Winners are:\n{n}"
yang menghasilkan keluaran yang sama.
catatan:
Ini adalah salah satu perbedaan kecil antara f
-string dan str.format
. Yang terakhir, Anda selalu dapat menggunakan tanda baca yang diberikan bahwa dikt aneh yang sesuai dibongkar yang berisi kunci-kunci tersebut:
>>> "{\\} {*}".format(**{"\\": 'Hello', "*": 'World!'})
"Hello World!"
(Tolong jangan lakukan ini.)
Dahulu, tanda baca tidak diperbolehkan karena Anda tidak boleh memiliki pengenal yang menggunakannya.
Selain: Saya pasti akan memilih print
atau format
, seperti yang disarankan jawaban lain sebagai alternatif. Opsi yang saya berikan hanya berlaku jika Anda harus menggunakan f-string karena alasan tertentu.
Hanya karena ada sesuatu yang baru, bukan berarti Anda harus mencoba dan melakukan semuanya dengannya ;-)
f"Winners are:\n{chr(10).join(names)}"