【python】関数化 可変長キーワード引数

2020年5月17日

可変長キーワード引数は変数にアスタリスクを2つ(**)つけると宣言でできます。
関数呼び出し時に複数のキーワード引数を渡すとdict型に格納されて渡されます。

可変長キーワード引数を試す

def testFunction1( **dict ):
    print(type(dict))             #<class 'dict'>
    print( "dict :",dict)         #dict : {'num1': 9, 'num2': 0, 'str1': 'aaa'}
    print( "num1 :",dict["num1"]) #num1 : 9
    print( "num2 :",dict["num2"]) #num2 : 0
    print( "str1 :",dict["str1"]) #str1 : aaa

testFunction1( num1=9, num2=0, str1="aaa" )

1行目:**dictが可変長キーワード引数です。
2行目:可変長キーワード引数「dict」の型がdict型と分かります。
3行目:可変長キーワード引数「dict」の一覧を表示
4-6行目:変数の中身を個別で表示

可変長引数+可変長キーワード引数を試す。

可変長引数と可変長キーワード引数を組み合わせて使用することができます。
通常の値渡しは可変長引数にキーワードを付けると可変長キーワード引数に格納されます。

def testFunction2( *keyword, **dict ):
    print(type(keyword))        #<class 'tuple'>
    print( "keyword :",keyword) #keyword : ('test1', 1, 2, 3)
    print(type(dict))           #<class 'dict'>
    print( "dict :",dict)       #dict : {'str': 90, 'num': 'xxx'}

testFunction2("test1",1,2,3,str=90,num="xxx")

ソースコードはこちらから

このページで紹介している記事のソースコードの販売を行っています。
python基本を押さえたソースコードを収録しています。
購入頂いたソースコードは商用利用OKになります。

ソースコードの販売はこちら