Dua fungsi yang membuat programmu interaktif
Kebanyakan program Python di awal mengikuti bentuk yang sama: minta sesuatu dari pengguna dengan input(), olah jawabannya, lalu laporkan kembali dengan print(). Kedua fungsi bawaan inilah cara kodemu berkomunikasi dengan dunia luar.
Mari bahas satu per satu.
print(): menulis output
Dalam bentuk paling sederhana, print() menulis satu baris teks ke terminal:
Itu menghasilkan kata hello diikuti newline. Newline itulah yang memisahkan satu pemanggilan print dari yang berikutnya di layar.
Kamu bisa memberikan beberapa nilai dalam satu pemanggilan, dan Python akan menaruh spasi di antaranya:
Output:
Name: Ada Age: 36
Nilainya tidak harus string. print memanggil str() pada setiap argumen, jadi kamu bisa mencampur tipe dengan bebas:
Mengubah pemisah
Kalau spasi di antara nilai bukan yang kamu inginkan, pakai sep:
Mengubah akhir baris
Secara default print menambahkan newline di akhir. Pakai end untuk mengubahnya, misalnya agar output tetap di baris yang sama:
end="" adalah trik untuk menyusun satu baris sepotong demi sepotong.
print menulis ke stdout
Secara default, print menulis ke stdout (standard output), tempat biasa output terminal muncul. Kamu bisa mengalihkannya ke stderr, sebuah file, atau objek mirip file lainnya dengan argumen file:
Untuk output yang diformat, seperti dua angka desimal, kolom yang diberi padding, atau koma pada angka besar, pakai f-string di dalam print:
input(): membaca dari pengguna
input(prompt) menghentikan program, menampilkan prompt ke pengguna, lalu menunggu. Apa pun yang diketik pengguna, sampai mereka menekan enter, dikembalikan sebagai string.
Ada tiga hal tentang input yang sering menjebak pemula:
Selalu mengembalikan string
Walaupun pengguna mengetik 42, yang kamu terima adalah string "42". Kamu tidak bisa langsung melakukan aritmetika dengannya:
Itulah sebabnya kamu akan sering melihat int(input(...)) atau float(input(...)) dalam satu baris. Kalau pengguna mengetik sesuatu yang bukan angka valid, int() memunculkan ValueError, yang akan kita tangani dengan benar di bab tentang exception.
Prompt bersifat opsional
Kalau kamu tidak memberikan string prompt, input() menunggu diam-diam, dan itu hampir selalu keputusan yang salah: pengguna tidak tahu apa yang kamu minta. Selalu berikan prompt yang jelas:
Tidak ada yang dipangkas
Apa pun yang diketik pengguna, termasuk spasi di awal dan di akhir, dikembalikan apa adanya. Kalau itu berpengaruh pada logikamu, panggil .strip():
Program kecil yang lengkap
Menggabungkan semuanya: beberapa baris yang meminta info dari pengguna lalu mencetak laporan kecil:
Dua belas baris. Kodenya terbaca dari atas ke bawah seperti instruksi, bukan seperti kode. Itulah gaya yang ingin didorong oleh dokumentasi ini.
Bagaimana dengan debugging pakai print?
Kadang kamu akan mendengar bahwa "developer sungguhan memakai debugger, bukan print." Itu berlebihan. Print adalah alat debugging yang bagus, terutama untuk skrip kecil dan eksperimen cepat. Taburkan pemanggilan print sebanyak yang kamu mau saat sedang mencari tahu sesuatu, lalu hapus setelah selesai.
Dua trik kecil yang memudahkan:
= di dalam f-string mencetak nama dan nilainya sekaligus, yang menghemat banyak kode berulang seperti print("name =", name).
Lanjut
print dan input memberimu siklus percakapan yang lengkap: bertanya, membaca, menjawab. Bab berikutnya mulai mencampurkan kondisi, yaitu pernyataan if dan operator yang menentukan apa yang dilakukan programmu berdasarkan nilai yang dilihatnya.
Pertanyaan yang sering diajukan
Apa yang dilakukan print() di Python?
Fungsi ini menulis nilai ke terminal. print("hello") menghasilkan hello diikuti newline. Kamu bisa memberikan beberapa nilai yang dipisahkan koma, dan print() secara default akan menaruh spasi di antaranya.
Bagaimana cara kerja input() di Python?
input(prompt) menghentikan program sejenak, menampilkan prompt ke pengguna, menunggu mereka mengetik sesuatu lalu menekan enter, dan mengembalikan apa yang mereka ketik sebagai string. Selalu string: kalau kamu ingin angka, bungkus pemanggilannya dengan int(...) atau float(...).
Bagaimana cara mencetak di baris yang sama di Python?
Berikan end="" ke print. Secara default print menambahkan newline setelah output; mengatur end menjadi string kosong (atau karakter lain apa pun) menggantikan newline itu.