Saat kita mendefinisikan fungsi, kita dapat menyetel nilai default ke beberapa argumen sehingga saat kita memanggil fungsi, kita tidak perlu menyetel argumen ini. Contoh berikut menunjukkan kepada Anda sebuah fungsi yang melibatkan argumen default, bersama dengan dua pemanggilan fungsi yang berbeda.
>>> def example(a, b=1, c="Hello!"):
... print(a, b, c)
...
>>> example("Hi")
Hi 1 Hello!
>>> example("Hi", 2, "Python")
Hi 2 Python
Seperti yang Anda lihat, ketika suatu fungsi menggunakan argumen default, argumen ini dapat dihilangkan. Anda dapat memeriksa argumen default suatu fungsi dengan mengakses __default__
atribut:
>>> example.__defaults__
(1, 'Hello!')
Saat kita menetapkan argumen default, kita harus berhati-hati saat argumen bisa berubah, seperti a list
obyek. Itu karena argumen default dievaluasi selama definisi fungsi. Pertimbangkan hal berikut:
>>> def example(a, b=list()):
... pass
...
>>> example.__defaults__
([],)
Jika Anda memanggil fungsi dengan menghilangkan b
argumen beberapa kali, Anda menggunakan yang sama list
obyek. Jika Anda tertarik untuk mempelajari lebih lanjut tentang argumen default yang dapat diubah, Anda dapat merujuk ke artikel saya sebelumnya: