Kombinasi Parameter dalam Python
Ke dalam fungsi yang sama, kita dapat secara bersamaan
melewatkan parameter bernama dan posisional.
Hal ini dilakukan dengan menggunakan simbol *,
yang menandakan bahwa parameter yang ditentukan
di sebelah kanannya harus dianggap sebagai parameter bernama,
jika nilai defaultnya tidak perlu
digunakan.
Mari kita buat sebuah fungsi yang akan
menampilkan semua parameter di konsol. Variabel
data akan mewakili
parameter posisional biasa. Selanjutnya, setelah simbol
*, ditentukan dua variabel start
dan end dengan nilai default.
Namun, saat memanggil fungsi, kita akan menjadikan
variabel-variabel ini sebagai parameter bernama:
def func(data, *, start=0, end=100):
print(data, start, end)
func(1, start=2, end=3)
Hasil eksekusi kode:
1 2 3
Jika nilai default variabel
start dihapus dan pada saat yang sama variabel tersebut tidak ditulis
sebagai parameter bernama, maka akan muncul error.
Ini terjadi karena simbol *
telah mendefinisikan start sebagai
variabel bernama:
def func(data, *, start, end=100):
print(data, start, end)
func(1, 2, end=3) # akan menampilkan error
Berapa hasil eksekusi kode berikut:
def func(num1, num2, *, num3):
return (num1 + num2) * num3
print(func(2, 4, num3=3))
Berapa hasil eksekusi kode berikut:
def func(num1, *, num2, num3):
return (num1 - num2) / num3
print(func(12, 4, num3=5))
Berapa hasil eksekusi kode berikut:
def func(*, name='user1', age='18'):
return 'Username is ' + name + ' age is ' + age
print(func(name='john'))