Pythonの*argsと*kwargs

1170 ワード

*args**kwargsと書かなければならないわけではありません.変数の前の*(アスタリスク)だけが必要です.*var**varsと書くこともできます.*args**kwargsと書くのは通俗的な命名規則にすぎない.*argsは、可変数(≧0)の非キー値対パラメータを表す.(任意の長さのリスト)**kwargsは、可変数(≧0)のキー値ペア(キーワード)パラメータを表す.(任意の長さの辞書)
使用方法:
1.関数は、*argsおよび**kwargsを使用して定義することができる
#    *args     
def test_args_1(*args):
    for arg in args:
        print(arg)

test_args_1('ni','hao')
# test_args_1()      (≥0)    


#    **kwargs     
def test_kwargs_1(**kwargs):
    print(kwargs)

test_kwargs_1(ni='1', hao='2’)
#      (≥0)      

2.関数を呼び出すには*argsと*kwargsを使用します.
#    *args     
def test_args_2(a,b,c):
    print(a,b,c)

abc = [1,2,3]
test_args_2(*abc)
#      *args       


#    **kwargs     
def test_kwargs_2(a,b,c):
    print(a,b,c)

abc = {'c':1, 'b':2, 'a':3}
test_kwargs_2(**abc)
#      **kwargs       
#   :
3 2 1

感謝:
どのように*argsと*kwargs-《Python進級》Use of*args and*kwargs-stackoverflow関数のパラメータを使う-廖雪峰はPythonの中の*argsと*kwargsを理解します