Fungsi
Sejauh ini, kami telah menulis semua kode kami di app.py, tetapi seiring berkembangnya program kami, kami membutuhkan cara yang lebih baik untuk mengatur kode kami. Kita perlu memecah kode kita menjadi potongan yang lebih kecil, lebih mudah dikelola, dan lebih mudah dipelihara yang kita sebut fungsi. Fungsinya adalah wadah untuk beberapa baris kode yang melakukan tugas tertentu.
Misalnya, Anda telah belajar tentang beberapa fungsi bawaan di Python print()
dan input()
. Setiap fungsi memiliki tujuan dan tahu bagaimana melakukan tugas tertentu. Jadi, ketika kita membangun program kompleks yang besar, kita harus memecah kode kita menjadi potongan-potongan kecil yang dapat digunakan kembali, yaitu fungsi.
Mari kita pahami konsep ini dengan membuat program untuk mencetak pesan ucapan selamat.
print('Hi there!')
print('Welcome aboard!')
Di sini kita memiliki program sederhana dengan hanya dua baris kode. Sekarang, katakanlah, kita akan membutuhkannya di program lain untuk menempatkannya dalam fungsi yang dapat kita gunakan kembali.
Izinkan saya memperkenalkan kata kunci yang dipesan def
di Python, yang merupakan kependekan dari define dan digunakan untuk mendefinisikan suatu fungsi.
def greet_user():
print('Hi there!')
print('Welcome aboard!')
Sekarang blok kode ini akan mendefinisikan fungsi “greet_user
” dengan baris kode setelah itu. Setiap kali fungsi ini dipanggil, dua baris ini akan dieksekusi. Mari kita gunakan ini:
print('start')
greet_user()
print('finish')
Program dijalankan secara berurutan, artinya Anda harus mendefinisikan suatu fungsi sebelum memanggilnya dalam program.
parameter
Fungsi yang ditentukan bekerja sedikit berbeda dari fungsi bawaan Python. Misalnya, dalam kasus print()
sebuah fungsi, dibutuhkan beberapa informasi yang ingin kita cetak, tetapi fungsi salam kita tidak mengambil informasi apapun. Bukankah lebih baik jika Anda bisa meneruskan nama pengguna di sini dan kemudian, daripada mengatakan "hai", Anda bisa mencetak nama pengguna?
Anda dapat melakukan ini dengan menambahkan parameter di dalam tanda kurung dari fungsi yang ditentukan. Mari ku tunjukkan:
def greet_user(name):
print('Hi there!')
print('Welcome aboard!')
Sekarang “name
” di dalam tanda kurung akan bertindak seperti variabel lokal dan kita dapat meneruskan nama pengguna saat memanggilnya.
greet_user('Shahbaz')
Sekarang parameter nama diatur ke “Shahbaz
”. Mari kita ubah program untuk memanfaatkannya.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
print('finish')
Hal penting yang perlu diperhatikan adalah bahwa "nama" di baris pertama disebut Parameter sedangkan nama yang diberikan yaitu Shahbaz disebut argumen.
Mari kita lanjutkan dan jalankan program ini.
Jadi dengan parameter ini, kami dapat menerima informasi dalam fungsi kami.
Sekarang, mari kita lakukan sesuatu yang menarik. Katakanlah Anda ingin menambahkan nama lain ke pesan salam. Itu mudah.
def greet_user(name):
print(f'Hi {name}')
print('Welcome aboard!')
print('start')
greet_user('Shahbaz')
greet_user('Aayush')
print('finish')
Sekarang perhatikan bahwa ketika suatu fungsi memiliki parameter, kita berkewajiban untuk memberikan nilai untuk parameter itu. Jika Anda menghapus nama dari fungsi dan menjalankan program, kami akan mendapatkan kesalahan. Anda juga dapat menggunakan beberapa parameter dalam satu fungsi, dipisahkan dengan koma.
Sebagai contoh, greet_user(first_name, last_name):
. Argumen juga akan diformat dengan cara yang sama.
Argumen Kata Kunci
Sejauh ini, kita telah mempelajari bahwa setiap kali kita mendefinisikan parameter untuk fungsi kita, kita harus selalu memberikan nilai jika tidak, kita akan mendapatkan kesalahan. Dalam program terakhir, argumen 'Shahbaz'
dan 'Bhatti'
disebut argumen posisi, artinya posisi atau urutannya penting dalam program.
Dalam Python, kami memiliki jenis argumen lain yang disebut argumen kata kunci, yang posisinya tidak penting. Mari saya tunjukkan cara kerjanya.
Lihat program terakhir. Kita bisa memodifikasinya seperti ini:
def greet_user(first_name, last_name):
print(f'Hi {first_name} {last_name}')
print('Welcome aboard!')
print('start')
greet_user(first_name='Shahbaz', last_name='Bhatti')
print('finish')
Sekarang first_name
dan last_name
adalah parameter kata kunci. Anda dapat mengganti tempat mereka dan hasilnya akan sama.
Bukan berarti kita harus selalu menggunakan argumen kata kunci. Sebagian besar waktu kami menggunakan argumen posisi, tetapi dalam situasi tertentu, argumen kata kunci ini membantu kami meningkatkan keterbacaan kode kami.
Ada satu hal lagi yang perlu Anda ketahui tentang argumen kata kunci. Argumen kata kunci harus selalu muncul setelah argumen posisi.
Pernyataan Pengembalian
Sejauh ini kita telah mempelajari cara membuat fungsi dan mengirimkannya informasi menggunakan parameternya. Sekarang mari kita pelajari cara membuat fungsi yang mengembalikan nilai. Ini sangat berguna jika Anda melakukan semacam perhitungan dan Anda ingin mengembalikan hasilnya kepada siapa pun yang menggunakan fungsi Anda. Mari ku tunjukkan.
Mari kita mendefinisikan fungsi yang akan menghitung kuadrat dari suatu bilangan.
def square(number):
return number*number
Kami telah menggunakan pernyataan kembali untuk mengembalikan nomor ini di luar fungsi. Sekarang, jika kita memanggil fungsi ini, ia mengembalikan nilai seperti input()
fungsi. Mari kita cetak di terminal.
Anda dapat berargumen bahwa hasil yang sama dapat diperoleh tanpa menggunakan pernyataan return. Mari kita periksa.
Kita melihat dua hal, angka 9, dan tidak ada. Apa yang terjadi disini?
Ketika interpreter Python mengeksekusi kode ini, pertama-tama ia akan memanggil fungsi kuadrat dan kontrol bergerak ke fungsi tersebut. Di sini kita menghitung kuadrat dari angka yang diberikan ini dan kemudian mencetaknya di terminal.
Sekarang, secara default, semua fungsi mengembalikan nilai none. Jadi jika kita tidak memiliki pernyataan pengembalian di sini, secara default Python tidak mengembalikan apa pun. Tidak ada adalah objek yang mewakili tidak adanya nilai. Ini seperti tidak ada atau nol di C, C++, Java dan Javascript.
Bungkus!
Saya harap Anda telah memahami pentingnya fungsi.
Mereka adalah aspek penting dari pembelajaran Python jika Anda berencana untuk menulis program besar dan kompleks selama karir coding Anda.
Tinggalkan Balasan