引数に “*” と “**” をつけて渡す

投稿者: | 2月 23, 2021

関数呼び出し時に、リストやタプルには、シングルアスタリスク()、辞書にはダブルアスタリスク(*)をつけて引数にわたす。

dict.key() 辞書のキーの新しいビューを返します。

  • リストやタプルの場合は” * “
    • デフォルト引数が設定されている関数
    • 可変長引数が設定されている関数
  • 辞書の場合は” ** “
    • デフォルト引数が設定されている関数
    • 可変長引数が設定されている関数
def shop(name, *arguments, **keywords):
    print('flowershop:', name)
    for arg in arguments:
        print(arg)
    print("**Recommended**")

    """dict.keys()関数で、辞書のキーとなるワードをひっぱり、sorted()関数でソートして、辞書keysを生成 ['bouquet', 'dried', 'plants'] """
    keys=sorted(keywords.keys())
    for kw in keys:
        print(kw, ":", keywords[kw])

shop("Iris", "Open: 9:30 am", "Close: 10:30 pm", "Monday and Holidays are closed.", bouquet="Sunflower", plants="Pachira", dried="Rose")

flowershop: Iris
Open: 9:30 am
Close: 10:30 pm
Monday and Holidays are closed.
**Recommended**
bouquet : Sunflower
dried : Rose
plants : Pachira

引数につけるアスタリスクの意味とdict.keys()、sorted()を学習