Mengenal Python Closure dan Implementasinya

python-closures


Mengenanl Python Closures - Selamat malam sobs-sobs semoga dalam keadaan sehat walafiat dan masih diberik kenikmatan untuk mensruput kopi panas. oke sobs-sobs materi pembahasan kali ini merupakan materi pembelajaran python dasar. kenapa gua akan bahasa materi ini agar sobs-sobs tentunya mempunyai pengetahuan baru tentunya untuk menguatkan pondasi dalam pemahaman si dede gemez python ini, karena kedepannya mungkin sobs-sobs akan melihat struktur kode python ini dengan closures.


Pertama-tama kita beranjak ke definisi dari clousures didalam bahasa pemrograman. clousures adalah sebuah teknik agar sebuah fungsi dapat digunakan ke dalam variabel dengan catatan fungsi tersebut dapat mempunyai akses ke luar scope fungsi tersebut, biasanya teknik ini menggunakan fungsi didalam fungsi atau nested function sobs-sobs sekalian. mungkin sobs-sobs masih belum punya gambaran, tenang saja sobs-sobs perlahan kita akan bahas.


Oh iya sebelum lebih jauh disini gua akan susun step by step materi pembahasan kali ini


- fungsi didalam fungsi

yap pemahaman ini sangat diperlukan jika kita ingin mengetahui maksud closures tersebut, dipython tentunya kita bisa mendefinisikan fungsi didalam fungsi, seperti contoh dibawah ini sobs



# fungsi luar
def sapa_mantan(nama_mantan):
	
	# fungsi dalam
	def tampilkan_sapa():
		print(f"Hai {nama_mantan}, masih enakan jamanku toh")


	# eksekusi fungsi dalam di fungsi luar
	tampilkan_sapa()



# eksekusi fungsi luar
sapa_mantan("Adinda")


Sedikit penjelasan dari kode diatas sobs-sobs, di atas gua membuat sebuah fungsi didalam fungsi dimana fungsi sapa_mantan merupakan fungsi terluar dan fungsi tampilkan_sapa fungsi didalam fungsi sapa_mantan, terlihat kita bisa mengakses nilai dari fungsi luar di dalam fungsi dalam seperti contoh diatas kita bisa mengakses variabel nama_mantan didalam fungsi tampilkan_sapa, konsep tersebut merupakan awal dari penjelasan closures. 


- Closures

oke sampai disini sobs-sobs saya anggap sobs-sobs sudah bisa memahami konsep fungsi didalam fungsi. untuk closures sebenernya sama menggunakan fungsi didalam fungsi hanya saja ada beberapa hal yang perlu diperhatikan sobs-sobs diantaranya 

- harus mengunakan fungsi didalam fungsi
- fungsi didalam harus mengembalikan sebuah nilai
- fungsi diluar harus mengembalikan fungsi yang ada didalam

untuk lebih jelasnya silahkan sobs-sobs lihat contoh dibawah ini


# fungsi luar
def sapa(nama = ""):

	# fungsi dalam
	def kalimat_sapa(kalimat):
		return f"{kalimat} {nama}"

	# return fungsi dalam
	return kalimat_sapa


# buat variabel menampung hasil fungsi
sapa_jhony = sapa("Jhony")

print(sapa_jhony("Hello Good Morning,"))
# Hello Good Morning, Jhony

sapa_bambang = sapa("Bambang")

print(sapa_bambang("Hello nice to met you,"))
# Hello nice to met you, Bambang


dan untuk lebih memahami lagi sobs-sobs gua akan buat contoh lagi seperti dibawah ini

def buat_perkalian(num1):

	def perkalian(num2):
		return num2 * num1

	return perkalian


perkalian_tiga = buat_perkalian(3)
hasil_1 = perkalian_tiga(9)
print(hasil_1)	# 27 (9 x 3)


perkalian_lima = buat_perkalian(5)
hasil_2 = perkalian_lima(7)
print(hasil_2)	# 25 (7 x 5)


variabel perkalian_tiga dan perkalian_lima merupakan variabel berisi sebuah fungsi karena kedua variabel tersebut dideklarasikan dengan fungsi buat_perkalian dimana fungsi buat_perkalian akan mengembalikan sebuah nilai fungsi yaitu nilai fungsi perkalian. sehingga variabel perkalian_tiga dan perkalian_lima bisa kita kelola dengan perlakuan sama layaknya sebuah fungsi biasa sobs-sobs.  silahkan sobs-sobs contoh seperti diatas untuk pembagian.

tambahan lagi sobs-sobs untuk mengecek konten dari fungsi closures bisa menggunakan cara seperti dibawah ini


def buat_perkalian(num1):

	def perkalian(num2):
		return num2 * num1

	return perkalian


perkalian_tiga = buat_perkalian(3)
perkalian_lima = buat_perkalian(5)


print(perkalian_tiga.__closure__[0].cell_contents) # 3
print(perkalian_lima.__closure__[0].cell_contents) # 5



ya kita dipenghujung pembahasan materi kali ini sobs-sobs, jika ada yang kurang jelas silahkan bertanya dikolom komentar atau mencari refrensi pembelajaran lainnya.



See you next time.

Posting Komentar untuk "Mengenal Python Closure dan Implementasinya"