Apa saja fitur dalam bahasa pemrograman Python yang paling kamu sukai yang tidak ada atau jarang ditemukan dalam bahasa pemrograman lainnya?


Fitur itu adalah operator overloading, fitur tersebut biasanya hanya ada di bahasa pemrograman generik berat yang rumit seperti Rust atau C++, yang digunakan untuk memperjelas keterbacaan ekspresi. Misalnya:

  1. class Matrix: 
  2. Matrix add(other) 
  3. Matrix sub(other) 
  4. Matrix mul(other) 

Bahasa tanpa operator overloading, akan melakukan setiap operasi matriks untuk class Matrix menggunakan panggilan fungsi biasa, misalnya kita ingin melakukan ekspresi 

XX+Y

, maka penulisannya akan cukup membingungkan:

  1. Matrix X, Y 
  2. (X.mul(X)).add(Y) 

Tapi dengan operator overloading, kita dapat menulisnya menjadi:

  1. Matrix X, Y 
  2. X * X + Y 

Menjadi lebih terbaca. Tapi kenapa contohnya harus operasi aritmetika? karena fitur ini banyak digunakan untuk berbagai macam komputasi ilmiah, misalnya operasi aritmetika bignumber/decimal, operasi set, operasi vector/matrix, dll. Semua itu akan lebih mudah kalau operator overloading tersedia.

Karena di Python terdapat operator overloading, saya bahkan bisa membuat style print ala C++ di Python:

Output dari program:

  1. Hello World 
  2. 5000000 
  3. 340282366920938463463374607431768211456 
  4. [1, 2, 3, 4, 5, 6, 7] 

Leave a Reply

Your email address will not be published.