Penggabungan Parameter dalam Python
Kepada fungsi yang sama, kita boleh menghantar
parameter bernama dan parameter posisi secara serentak.
Ini dilakukan dengan menggunakan simbol *,
yang menandakan bahawa parameter yang dinyatakan
di sebelah kanannya harus dianggap sebagai parameter bernama,
jika nilai lalainya tidak perlu
digunakan.
Mari kita cipta fungsi yang akan
memaparkan semua parameter dalam konsol. Pembolehubah
data akan mewakili
parameter posisi biasa. Selepas simbol
*, dua pembolehubah start
dan end ditetapkan dengan nilai lalai.
Walau bagaimanapun, apabila memanggil fungsi, kita akan menjadikan
pembolehubah ini sebagai parameter bernama:
def func(data, *, start=0, end=100):
print(data, start, end)
func(1, start=2, end=3)
Keputusan pelaksanaan kod:
1 2 3
Jika nilai lalai pembolehubah
start dibuang dan pada masa yang sama ia dibuang sebagai
parameter bernama, ralat akan dipaparkan.
Ini berlaku kerana simbol *
telah menganggap start sebagai pembolehubah
bernama:
def func(data, *, start, end=100):
print(data, start, end)
func(1, 2, end=3) # akan memaparkan ralat
Apakah hasil pelaksanaan kod berikut:
def func(num1, num2, *, num3):
return (num1 + num2) * num3
print(func(2, 4, num3=3))
Apakah hasil pelaksanaan kod berikut:
def func(num1, *, num2, num3):
return (num1 - num2) / num3
print(func(12, 4, num3=5))
Apakah hasil pelaksanaan kod berikut:
def func(*, name='user1', age='18'):
return 'Username is ' + name + ' age is ' + age
print(func(name='john'))