Semua parameter yang diperlukan harus ditempatkan sebelum argumen default apa pun. Hanya karena mereka wajib, sedangkan argumen default tidak. Secara sintaksis, tidak mungkin bagi juru bahasa untuk memutuskan nilai mana yang cocok dengan argumen mana jika mode campuran diizinkan. A SyntaxErrordimunculkan jika argumen tidak diberikan dalam urutan yang benar:
Mari kita lihat argumen kata kunci, menggunakan fungsi Anda.
def fun1(a="who is you", b="True", x, y):
... print a,b,x,y
Misalkan diizinkan untuk mendeklarasikan fungsi seperti di atas, Kemudian dengan deklarasi di atas, kita dapat melakukan panggilan argumen posisi atau kata kunci berikut:
func1("ok a", "ok b", 1) # Is 1 assigned to x or ?
func1(1) # Is 1 assigned to a or ?
func1(1, 2) # ?
Bagaimana Anda akan menyarankan penugasan variabel dalam panggilan fungsi, bagaimana argumen default akan digunakan bersama dengan argumen kata kunci.
>>> def fun1(x, y, a="who is you", b="True"):
... print a,b,x,y
...
Referensi O'Reilly - Core-Python
Dimana fungsi ini memanfaatkan argumen default yang benar secara sintaksis untuk panggilan fungsi di atas. Panggilan argumen kata kunci terbukti bermanfaat untuk dapat memberikan argumen posisi yang tidak sesuai pesanan, tetapi, ditambah dengan argumen default, argumen tersebut juga dapat digunakan untuk "melewatkan" argumen yang hilang juga.
def myfunction(position_arguments, *arguments, **keywords):`....`