Python キーワード引数を使いたい

あけましておめでとうございます
DIVE INTO EXAMでPythonエンジニア認定試験の模擬テストをやっていて
これ使ってみたい!と思ったので書きます

キーワード引数

関数呼び出し時に「引数名=値」で引数を渡す方法(引数の順番はバラバラでOK)
greeting(name='buto', greeting_no=0, jp_flg=1)
引数の数が多い+フラグ系引数が複数ある場合は使いたい!

def greeting(name, greeting_no, jp_flg):  
    # greeting_noによってメッセージ文言を決める  
    if greeting_no == 0:  
        greeting = 'Happy New Year'  
    else:  
        greeting = 'Hello'  
    # jp_flg=1だったら日本語にする  
    if jp_flg == 1:  
        greeting = 'こんにちは'  

    print(name + 'さん' + greeting)  

greeting(name='buto', greeting_no=0, jp_flg=1)  

位置引数

関数を呼び出す時にいつも使っているのはこちら 1つ目の引数はname、2つ目は…という感じ
greeting('buto', 0, 1)
他の言語でも関数やメソッドを呼び出す時はこの方法を使っているはず
「〇〇フラグは何番目の引数だっけ?」ってよくなっちゃう

位置引数とキーワード引数をミックスする場合は「位置引数を先に書く」(ミックスすることある?)
自分で関数作成する時は引数の位置(順番)も合わせる、かつキーワード引数を使いたいな!