Source Code yang Efisien di Python

Setiap bahasa pemrograman memiliki keunikan tersendiri yang membedakan dari yang lainnya. Salah satunya adalah teknik penulisan source code yang efisien. Teknik ini bisa menghemat banyaknya baris code, cepat dalam eksekusi, maupun sedikit dalam penggunaan resource RAM.

Bahasan kali ini akan dijabarkan bagaimana menulis source code yang efisien di python. Selain itu, kita juga akan kelihatan lebih berpengalaman dalam menggunakan python. Source code yang efisien akan diberi nama “pythonic”, sedangkan yang tidak efisien dilabeli “non-pythonic”.

Baca Juga : Stock Market Analysis Using Python & Google Data Studio

1. List Comprehension

List comprehension merupakan salah satu teknik looping yang populer dan efisien di python serta tergolong pythonic. Berikut merupakan perbandingan variasi looping di python

Teknik looping di python dapat kita lakukan terhadap index atau element. List comprehension terlihat lebih simpel dalam hal penulisaan code dibandingkan teknik lainnya. Selain itu, kita menambahkan condition IF di dalam list comprehension.

 

2. Built-in Function

Merupakan fungsi khusus yang sudah tersedia di python seperti map(), range(), dan enumerate(). Karena fungsi tersebut memang khusus dibuat di python, maka tentunya akan ada keistimewaan dari segi waktu eksekusi dan tentuya lebih pythonic.

2.1 map()

Digunakan untuk melakukan transformasi data sesuai dengan fungsi yang didefinisikan.

2.2 enumerate()

Digunakan untuk memasangkan index dan value-nya.

2.3 zip()

Fungsinya mirip dengan enumerate.

2.4 counter()

Berfungsi untuk menghitung total object dalam suatu list.

2.5 combinations()

2.6 assert()

Berfungsi untuk melakukan validasi terhadap suatu kondisi apakah TRUE atau FALSE. Jika TRUE, maka perintah setelahnya akan dilanjutkan, begitu juga sebaliknya.

2.7 iterrows()

Berfungsi untuk melakukan iterasi baris di suatu dataframe dalam bentuk pasangan (index, row). Perintah lainnya yang mirip yaitu itertuples() yang disandingkan dengan getattr().

 

3. The Power of Numpy Array

Python memiliki beberapa macam struktur data yaitu list, tuple, array, dataframe, dictionary dan lainnya. Dari beberapa struktur data tersebut, array merupkana yang paling efisien, hal ini karena

    • a numpy array provide fast and memory efficient alternatife to list
    • a numpy array a homogenious (contain one type only)
    • Python list doesnt support broadcasting (broadcasting refers to ability to vectorize operations)
    • has advantages in indexing capability
    • also has boolean indexing
    • A numpy array supports boolean indexing and has much better one-dimensional indexing capabilities.

4. Set

Set merupakan jenis struktur data yang isinya unik. Set lebih cepat dibandingkan list atau tuple. Beberapa fungsi yang populer digunakan dalam set yaitu

5. Transformasi data via Apply

apply() merupakan perintah yang paling populer digunakan dalam rangka mentransformasi suatu data. apply dapat diterapkan terhadap baris maupun kolom. Tipe dataframe paling bagus menggunakan perintah apply, apalagi jika logikanya kompleks.

Perintah apply yang diterapkan pada baris bisa dilakukan jika transformasi hanya melibatkan 1 kolom saja. Contohnya adalah misalkan kita ingin mengkategorikan total win menjadi beberapa kelas. Maka kita bisa menggunakan apply untuk baris.

Sedangkan jika transformasi melibatkan beberapa kolom, maka kita menggunakan apply untuk kolom.

 

 

Reference

  • https://www.datacamp.com/courses/writing-efficient-python-code

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Related posts