Menguasai Fungsi Python: Sintaks, Tipe, dan Contoh Praktis
Python Functions
Dalam artikel ini, Anda akan mempelajari fungsi, apa itu fungsi, sintaks, komponen, dan tipe fungsi. Juga, Anda akan belajar cara membuat fungsi dalam Python.
Video: Introduction to Python Functions
Apa Itu Fungsi dalam Python?
Dalam Python, fungis adalah sekumpulan pernyataan terkait yang melakukan tugas tertentu.
Fungsi membantu memecah program kita menjadi bagian-bagian yang lebih kecil dan modular. Seiring program kita tumbuh lebih besar, fungsi membuatnya lebih terorganisir dan dapat dikelola.
Selain itu, ini menghindari repetisi dan membuat kode dapat digunakan kembali.
Di atas ditunjukkan definisi fungsi yang terdiri dari komponen berikut.
Kata kunci def yang menandai awal header fungsi.
Nama fungsi untuk mengidentifikasi fungsi secara unik. Penamaan fungsi mengikuti aturan penulisan identifier dalam Python.
Parameter (argumen) yang melalui kita memberikan nilai ke fungsi. Mereka opsional.
Titik dua (:) untuk menandai akhir header fungsi.
String dokumentasi (docstring) opsional untuk menjelaskan apa yang dilakukan fungsi.
Satu atau lebih pernyataan Python yang valid yang membentuk tubuh fungsi. Pernyataan harus memiliki tingkat indentasi yang sama (biasanya 4 spasi).
Pernyataan return opsional untuk mengembalikan nilai dari fungsi.
Contoh fungsi
def greet(name): """ Fungsi ini menyapa orang yang diteruskan sebagai parameter """ print("Hello, " + name + ". Good morning!")
Cara Memanggil Fungsi dalam Python?
Setelah kita mendefinisikan fungsi, kita dapat memanggilnya dari fungsi lain, program, atau bahkan prompt Python. Untuk memanggil fungsi kita cukup mengetik nama fungsi dengan parameter yang sesuai.
>>> greet('Paul') Hello, Paul. Good morning!
Coba jalankan kode di atas dalam program Python dengan definisi fungsi untuk melihat outputnya.
def greet(name): """ Fungsi ini menyapa orang yang diteruskan sebagai parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')
Catatan: Dalam Python, definisi fungsi harus selalu ada sebelum pemanggilan fungsi. Jika tidak, kita akan mendapatkan kesalahan. Contohnya,
# pemanggilan fungsi greet('Paul') # definisi fungsi def greet(name): """ Fungsi ini menyapa orang yang diteruskan sebagai parameter """ print("Hello, " + name + ". Good morning!") # Error: name 'greet' is not defined
Docstrings
String pertama setelah header fungsi disebut docstring dan singkat dari documentation string. Ia digunakan singkat untuk menjelaskan apa yang dilakukan fungsi.
Meskipun opsional, dokumentasi adalah praktik pemrograman yang baik. Kecuali Anda dapat mengingat apa yang Anda makan malam kemarin, selalu dokumentasikan kode Anda.
Dalam contoh di atas, kita memiliki docstring segera di bawah header fungsi. Kami umumnya menggunakan tanda kutip tiga sehingga docstring dapat meluas hingga beberapa baris. String ini tersedia bagi kita sebagai atribut __doc__ dari fungsi.
Contoh:
Coba jalankan berikut ini dalam shell Python untuk melihat outputnya.
>>> print(greet.__doc__) This function greets to the person passed in as a parameter
Untuk mempelajari lebih lanjut tentang docstring dalam Python, kunjungi Python Docstrings.
Pernyataan return
Pernyataan return digunakan untuk keluar dari fungsi dan kembali ke tempat dari mana ia dipanggil.
Sintaks return
return [expression_list]
Pernyataan ini dapat berisi ekspresi yang dievaluasi dan nilainya dikembalikan. Jika tidak ada ekspresi dalam pernyataan atau pernyataan return itu sendiri tidak ada di dalam fungsi, maka fungsi akan mengembalikan objek None.
Contoh:
>>> print(greet("May")) Hello, May. Good morning! None
Di sini, None adalah nilai yang dikembalikan karena greet() langsung mencetak nama dan tidak ada pernyataan return yang digunakan.
Contoh return
def absolute_value(num): """Fungsi ini mengembalikan nilai absolut dari angka yang dimasukkan""" if num >= 0: return num else: return -num print(absolute_value(2)) print(absolute_value(-4))
Output
2 4
Bagaimana Fungsi Bekerja dalam Python?
Ruang Lingkup dan Masa Hidup Variabel
Ruang lingkup variabel adalah bagian dari program di mana variabel dikenali. Parameter dan variabel yang didefinisikan di dalam fungsi tidak terlihat dari luar fungsi. Oleh karena itu, mereka memiliki ruang lingkup lokal.
Masa hidup variabel adalah periode di mana variabel ada di memori. Masa hidup variabel di dalam fungsi selama fungsi dieksekusi.
Mereka hancur setelah kita kembali dari fungsi. Oleh karena itu, fungsi tidak mengingat nilai variabel dari panggilan sebelumnya.
Berikut adalah contoh untuk mengilustrasikan ruang lingkup variabel di dalam fungsi.
def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x)
Output
Value inside function: 10 Value outside function: 20
Di sini, kita dapat melihat bahwa nilai x adalah 20 awalnya. Meskipun fungsi my_func() mengubah nilai x menjadi 10, ia tidak mempengaruhi nilai di luar fungsi.
Ini karena variabel x di dalam fungsi berbeda (lokal untuk fungsi) dari yang di luar. Meskipun mereka memiliki nama yang sama, mereka adalah dua variabel yang berbeda dengan ruang lingkup yang berbeda.
Di sisi lain, variabel di luar fungsi terlihat dari dalam. Mereka memiliki ruang lingkup global.
Kita dapat membaca nilai-nilai ini dari dalam fungsi tetapi tidak dapat mengubah (menulis) mereka. Untuk mengubah nilai variabel di luar fungsi, mereka harus dideklarasikan sebagai variabel global menggunakan kata kunci global.
Tipe Fungsi
Dasarnya, kita dapat membagi fungsi menjadi dua tipe berikut:
Built-in functions - Fungsi yang bawaan dalam Python.
User-defined functions - Fungsi yang didefinisikan oleh pengguna itu sendiri.