Pelajaran modul (4/4)
Pencetakan dan f-string
Untuk mengkomunikasikan sesuatu kepada pengguna (atau untuk melihat apa yang terjadi di dalam
program kami) kami menggunakan fungsi print(...) bawaan. Untuk menulis
teks dari beberapa nilai, sintaksis modern dan pilihan adalah
f-string.
print(...)
print("Ciao, mondo!") # Ciao, mondo!
print("a", "b", "c") # a b c (separati da spazio)
print(2 + 2) # 4
print("riga 1", "riga 2") # riga 1 riga 2print dapat mengambil argumen sebanyak yang Anda inginkan: argumen tersebut digabungkan dengan spasi (oleh
default) dan menambahkan baris baru di akhir. Anda dapat mengubah keduanya dengan
Parameter sep dan end:
print("a", "b", "c", sep="-") # a-b-c
print("senza newline", end="") # niente \n dopof-string: interpolasi modern
f-string adalah string yang diawali dengan f: di dalam kurung kurawal {...}
Anda dapat memasukkan ekspresi Python apa pun, yang akan dievaluasi dan dimasukkan ke dalam
hasil:
nome = "Ada"
anni = 30
print(f"Mi chiamo {nome} e ho {anni} anni.")
# Mi chiamo Ada e ho 30 anni.Di dalam kurung kurawal Anda dapat melakukan panggilan, operasi, akses objek — memang begitu Kode Python dalam segala hal:
prezzo = 12.5
quantita = 3
print(f"Totale: {prezzo * quantita:.2f} €")
# Totale: 37.50 €:.2f setelah titik dua adalah spesifikasi format: dalam hal ini "dua desimal
digit, titik tetap". Spesifikasi format yang paling berguna:
:.Nf— N digit desimal (f"{pi:.4f}"→3.1416).:N/:>N/:<N/:^N— lebar N, perataan kanan/kiri/tengah.:_atau:,— pemisah ribuan (f"{1000000:,}"→1,000,000).
Sintaks alternatif (untuk referensi)
Sebelum f-string (diperkenalkan dengan Python 3.6) ada dua bentuk yang digunakan Anda masih akan menemukan kode lama:
# stile .format() — verboso ma esplicito
"{} ha {} anni".format("Ada", 30)
# stile %-formatting — molto vecchio
"%s ha %d anni" % ("Ada", 30)Untuk kode baru, selalu gunakan f-string: lebih pendek, lebih mudah dibaca, lebih cepat.
Pemformatan tingkat lanjut dengan f-string
F-string mendukung spesifikasi pemformatan kaya langsung di dalam kurung kurawal. Misalnya, untuk memformat angka desimal dengan dua tempat desimal, Anda dapat menulis:
price = 19.99
print(f"Price: {price:.2f} $")Penentu :.2f menunjukkan bahwa kita ingin merepresentasikan float dengan tepat 2 tempat desimal.
Cobalah sendiri
Diberikan `name = 'Ada'` dan `age = 30`, buat string 'Ada ha 30 anni' dengan f-string dan tetapkan ke `line`. Evaluasi `garis`.
Tunjukkan petunjuk
Sintaks: f"sesuatu {variabel} sesuatu yang lain"
Solusi tersedia setelah 3 upaya
Tinjau latihan
Cetak dengan print() string 'pi greco vale 3.14' mulai dari `pi = 3.14159`, menggunakan f-string dengan spesifikasi format 2 desimal.
Tunjukkan petunjuk
Spesifikasi format berada setelah titik dua di dalam kurung kurawal: {pi:.2f}.
Solusi tersedia setelah 3 upaya
Tantangan tambahan
Given a variable `price` set to `19.99`, use an f-string to construct the string `'Price: 19.99 €'` and store it in `receipt_line`. Finally, evaluate the variable.
Tunjukkan petunjuk
Gunakan f"Harga: {price} €" dan tetapkan hasilnya ke baris_tanda terima.
Solusi tersedia setelah 3 upaya