Apps Artificial Intelligence CSS DevOps Go JavaScript Laravel Linux MongoDB MySQL PHP Python Rust Vue

Mengenal Jenis-Jenis Fungsi di Python

1 min read .
Mengenal Jenis-Jenis Fungsi di Python

Sebagai developer independen, awalnya saya sering bingung bedain kapan pakai fungsi biasa, lambda, atau generator. Tapi setelah sering eksperimen, ternyata tiap jenis fungsi punya keunggulan sendiri dan bikin kode lebih rapi serta reusable. Gini deh, mari kita bahas lengkap.

1. Built-in Functions

Python sudah menyediakan banyak fungsi bawaan yang bisa langsung dipakai:

print("Hello, world!")
print(len([1,2,3]))
print(sum([1,2,3]))

Contoh lain: type(), range(), dll. Simpel tapi powerful.

2. User-Defined Functions

Fungsi yang kita buat sendiri pakai def:

def greet(name):
    return f"Hello, {name}!"

print(greet("Alice"))

Reusable dan bikin kode lebih modular.

3. Lambda Functions

Fungsi satu baris tanpa nama, cocok buat operasi singkat:

add = lambda x, y: x + y
print(add(5,3))

4. Recursive Functions

Fungsi yang memanggil dirinya sendiri, pas banget buat masalah yang bisa dipecah jadi sub-problem:

def factorial(n):
    return 1 if n==0 else n*factorial(n-1)

print(factorial(5))

5. Functions as Arguments

Fungsi bisa dikirim ke fungsi lain, sering dipakai di map(), filter(), sorted():

numbers = [1,2,3,4,5]
squared = list(map(lambda x: x**2, numbers))
print(squared)

6. Default Arguments

Bisa kasih nilai default supaya nggak wajib isi semua parameter:

def greet(name="Guest"):
    return f"Hello, {name}!"

print(greet())      # Hello, Guest!
print(greet("Bob")) # Hello, Bob!

7. Variable Arguments (*args & **kwargs)

Fungsi bisa terima jumlah parameter fleksibel:

def add_numbers(*args):
    return sum(args)
print(add_numbers(1,2,3,4))

def print_info(**kwargs):
    for k,v in kwargs.items():
        print(f"{k}: {v}")
print_info(name="Alice", age=30)

8. Generator Functions

Pakainya yield, hemat memori karena generate nilai satu per satu:

def count_up_to(max):
    count = 1
    while count <= max:
        yield count
        count += 1

for n in count_up_to(5):
    print(n)

9. Decorators

Fungsi yang “membungkus” fungsi lain, buat menambah fitur dengan clean code:

def decorator_func(original_func):
    def wrapper():
        print(f"Wrapper sebelum {original_func.__name__}")
        return original_func()
    return wrapper

@decorator_func
def display():
    return "Display function executed"

print(display())

Kesimpulan

Gini deh, fungsi di Python itu fleksibel banget. Dari built-in, user-defined, lambda, hingga generator atau decorator, semuanya punya peran masing-masing. Sejak kita mulai eksplor berbagai tipe fungsi ini, kode Python kita jadi lebih bersih, modular, dan gampang di-maintain.

Kalau kamu mau serius main Python, mastering semua tipe fungsi ini wajib, biar coding sehari-hari lebih efisien.

Lihat Juga

Mengenal Python Lists: Panduan Lengkap dari Dasar hingga Multidimensional
Mengenal Python Lists: Panduan Lengkap dari Dasar hingga Multidimensional
Sebagai developer independen, saya sering banget ketemu kasus di mana data harus disimpan dan diolah dengan fleksibel. Awalnya saya rada bingung bedain kapan pakai list biasa, nested list, atau cara querying yang efisien. Tapi setelah sering eksperimen, Python lists itu ternyata powerful banget. Gini deh, mari kita kupas tuntas. 1. Membuat Lists Dasar Copy # Kosong empty_list = [] # Integer numbers = [1, 2, 3, 4, 5] # Campur-campur mixed_list = [1, "Hello", 3.14, True] # Nested list nested_list = [[1,2,3], [4,5,6], [7,8,9]] Menggunakan list() Copy tuple_to_list = list((1,2,3)) string_to_list = list("hello") 2. Mengakses & Mengubah Elemen Copy numbers = [10, 20, 30, 40, 50] # Akses first_element = numbers[0] last_element = numbers[-1] slice_of_list = numbers[1:4] # Modifikasi numbers[1] = 99 3. Menambah & Menghapus Elemen Copy numbers = [1,2,3] # Menambah numbers.append(4) numbers.extend([5,6]) numbers.insert(1, 10) # Menghapus numbers.remove(3) removed = numbers.pop(1) del numbers[1] 4. Operasi Dasar Lists Copy list1 + list2 # Concatenation [1,2,3] * 3 # Repetition 3 in [1,2,3] # Membership 5. Iterasi & List Comprehension Copy for n in numbers: print(n) squares = [x**2 for x in range(10)] evens = [x for x in range(10) if x%2==0] 6. Multidimensional Lists Copy matrix = [ [1,2,3], [4,5,6], [7,8,9] ] tensor = [ [[1,2],[3,4]], [[5,6],[7,8]], [[9,10],[11,12]] ] # Akses element = matrix[1][2] block = tensor[0] # Iterasi for row in matrix: for val in row: print(val, end=' ') print() 7. Querying Lists Copy numbers = [1,2,3,4,5,6,7,8,9,10] # Filtering evens = [x for x in numbers if x%2==0] evens2 = list(filter(lambda x: x%2==0, numbers)) # Searching greater_than_five = next((x for x in numbers if x>5), None) all_positive = all(x>0 for x in numbers) # Aggregating total_sum = sum(numbers) min_value = min(numbers) max_value = max(numbers) 8. Kesimpulan Gini deh, Python lists itu simpel tapi powerful. Dari list dasar, nested list, sampai querying, semuanya bikin manipulasi data lebih fleksibel. Kita rutin pakai list dan list comprehension, coding Python sehari-hari jadi lebih cepat dan enak.
chevron-up