パイソン--- *引数和** kwargsから

*引数和** kwargsから

* argsがすべてのパラメータの配列です。** kwargsからパラメータが辞書で、具体的な例を参照してください。

def test(a,*args,**kwargs):
    print a
    print args
    print kwargs
test(1,2,3,d='4',e=5)

出力:

1
(2, 3)
{'e': 5, 'd': '4'}

例2:

def foo(*args, **kwargs):
    print ('args = ', args)
    print ('kwargs = ', kwargs) 
if __name__ == '__main__':
    foo(1,2,3,4)
    foo(a=1,b=2,c=3)
    foo(1,2,3,4, a=1,b=2,c=3)
    foo('a', 1, None, a=1, b='2', c=3)

出力:

args =  (1, 2, 3, 4) 
kwargs =  {} 
--------------------------------------- 
args =  () 
kwargs =  {'a': 1, 'c': 3, 'b': 2} 
--------------------------------------- 
args =  (1, 2, 3, 4) 
kwargs =  {'a': 1, 'c': 3, 'b': 2} 
--------------------------------------- 
args =  ('a', 1, None) 
kwargs =  {'a': 1, 'c': 3, 'b': '2'} 
---------------------------------------

概要

これらの2つのパラメータは、Pythonで可変です。* argsが、それはタプルで、任意のより多くの無名のパラメータを表し、** kwargsからはキーワード引数を表し、それは辞書です。そして、使用*引数と** kwargsから時間は、*引数パラメータは次のように、** kwargsから前にでなければならないfoo(a=1, b='2', c=3, 1, None )この呼び出し、それは意志プロンプト構文エラー“SyntaxError: non-keyword arg after keyword arg”

参照

公開された33元の記事 ウォンの賞賛1 ビュー2610

おすすめ

転載: blog.csdn.net/orangerfun/article/details/104028220