Skip to main content
Selain membangun kode berdasarkan bloknya, Anda juga dapat membuat sebuah kode hanya dalam satu baris saja atau berupa single statement. Konsep ini dikenal sebagai one-liner. One-liner merupakan gaya penulisan pada Python yang memungkinkan Anda untuk membuat sebuah kode hanya dalam satu baris. One-liner adalah salah satu keunggulan dalam Python yang susah untuk diimplementasikan bagi beberapa bahasa pemrograman lainnya. Tujuan dari one-liner ini adalah membuat satu baris kode yang singkat dan jelas. Perlu diingat bahwa tidak semua kode blok dapat dijadikan one-liner, seperti deklarasi fungsi, modul, dan kelas. Perhatikan kode di bawah ini yang merupakan program untuk menukar dua variabel menggunakan cara yang umum dilakukan.
x = 1
y = 2

temp = x
x = y
y = temp

print("Setelah pertukaran: ")
print("x = ", x)
print("y =",  y)

"""
Output:
Setelah pertukaran:
x = 2
y = 1
"""
Mari bedah kode tersebut.
  1. Anda menginisialisasi variabel x dengan nilai 1 dan variabel y dengan nilai 2.
  2. Anda menginisialisasi variabel temp dengan nilainya adalah variabel x. Hal ini menyebabkan variabel temp memiliki nilai 1.
  3. Anda menginisialisasi variabel x dengan nilai baru, yakni variabel y. Hal ini menyebabkan nilai dari variabel x menjadi 2.
  4. Anda menginisialisasi variabel y dengan nilai baru, yakni variabel temp. Hal ini menyebabkan nilai dari variabel y menjadi 1.
  5. Proses penukaran variabel telah selesai. Selanjutnya, Anda menampilkan nilai pada variabel tersebut dengan sintaks “print()”.
Mungkin Anda bertanya, mengapa variabel x dan y bisa berubah? Ingat konsep aksi sekuensial, program akan menjalankan kode tersebut baris per baris. Jadi, nilai dari variabel x dan y setelah inisialisasi pertama akan berubah karena pada sintaks berikutnya Anda menetapkan nilai baru pada variabel x dan y. Anda menggunakan variabel bantuan, yakni variabel “temp” untuk menyimpan nilai awal dari variabel x. Mari buat gambaran tersebut lebih sederhana dengan menggunakan contoh dalam kehidupan sehari-hari. Simak analogi berikut. Di bawah ini terdapat tiga gelas kosong yang akan diisi dengan kelereng. Anda bisa asumsikan gelas dengan variabel x disebut sebagai gelas x dan seterusnya. dos:d60c9bc7023030202700e34fc3b2900520230807143127.jpeg Selanjutnya, perhatikan gambar bergerak (GIF) berikut. dos:7cc181bfb154ca0d07ecea461cea49fb20230807143226.gif Mari kita bedah langkahnya satu per satu.
  1. Langkah pertama, gelas x diisi dengan 1 kelereng dan gelas y diisi dengan 2 kelereng; sedangkan, gelas temp kosong.
  2. Langkah kedua, kelereng dari gelas x dipindahkan ke gelas temp. Hal ini menyebabkan gelas temp terisi 1 kelereng, sedangkan gelas x menjadi kosong.
  3. Langkah ketiga, akibat gelas x kosong, Anda memindahkan 2 kelereng yang berada pada gelas y ke gelas x. Hal ini menyebabkan gelas y menjadi kosong.
  4. Langkah keempat,  gelas y kosong sehingga kelereng yang berada pada gelas temp dipindahkan ke gelas y.
Dengan begitu, Anda telah memindahkan posisi kelereng pada gelas x dan gelas y. Phew, cukup memakan tenaga, ya. Namun, tahukah Anda kalau ada kode one-liner yang dapat memudahkan Anda untuk melakukan operasi menukar dua variabel ini? Berikut adalah kodenya.
x = 1
y = 2

x, y = y, x    # One-liner

print('Setelah pertukaran: ')
print('x =', x)
print('y =', y)



"""
Output:
Setelah pertukaran:
x = 2
y = 1
"""
Kode di atas memiliki tujuan yang sama dengan kode sebelumnya, yakni menukar dua variabel. Namun, pada kode program di atas, Anda menggunakan teknik one-liner untuk melakukan operasi tersebut. dos:8eb35fda178c21fc1f89c6da95e9172b20230807143127.jpeg Pada kode di atas, Anda seolah-olah menginisialisasikan ulang variabel x dengan nilai variabel y di sebelah kanan. Anda juga menginisialisasikan ulang variabel y dengan nilai variabel x yang ada di sebelah kanan. Sederhana, bukan? Dengan menginisialisasikan ulang variabel masing-masing, nilai tersebut pada akhirnya bisa saling bertukar. Hal yang Anda pelajari sekarang merupakan salah satu penerapan one-liner. Ke depannya banyak sekali materi pada Python yang memiliki versi one-liner-nya. Anda dapat membaca penjelasan detail mengenai one-liner pada link berikut.