Python での * と ** の使用


序文

Python では、*ANDの使用**は関数の定義時か関数の呼び出し時かを区別する必要があります。


1.関数を定義する*場合**

def deng(*args,**kwargs):
    print(args)
    print(kwargs)

deng(1,2,3,a = 4,b = 5)

関数を定義するときにパラメーターの前に使用され*、関数を呼び出すときにキーワード以外のパラメーターが収集され、タプル引数に格納されることを意味します。
関数を定義するときにパラメーターの前に使用され**、関数を呼び出すときにキーワード パラメーターが収集され、辞書 kwargs に保存されることを意味します。

ここに画像の説明を挿入します

2.関数呼び出し***

関数を呼び出すときにパラメータの前に使用され*、パラメータをアンパックする(位置パラメータに従ってシーケンス内の要素を関数に渡す)ことを意味します。

def deng(a,b,c,d):
    print(a)
    print(b)
    print(c)
    print(d)
list_a = [1,2,3,4]
deng(*list_a)

ここに画像の説明を挿入します

関数を呼び出すときにパラメータの前に使用され**、パラメータをアンパックする(辞書内の要素をキーワードパラメータとして関数に渡す)ことを意味します。

def deng(a,b,c,d):
    print(a)
    print(b)
    print(c)
    print(d)
dict_a = {
    
    'a' : 1,'b' : 3,'c' : 4,'d' : 2 }
deng(**dict_a)

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/weixin_47250738/article/details/132110644