首页域名资讯 正文

实例:Python中*args和**kwargs区别

2024-12-14 3 0条评论

当函数的参数不确定时,可以使用*args 和**kwargs,*args 没有key值,**kwargs有key值。还是直接来代码吧,废话少说

*args

1 2 3 4 5 6 def fun_var_args ( farg , * args ) :      print “arg:” , farg      for value in args :      print “another arg:” , value fun_var_args ( 1 , “two” , 3 ) # *args可以当作可容纳多个变量组成的list

result:

1 2 3 arg : 1 another arg : two another arg : 3

**kwargs:

1 2 3 4 5 6 7 8 def fun_var_kwargs ( farg , * * kwargs ) :      print “arg:” , farg      for key in kwargs :          print “another keyword arg: %s: %s” % ( key , kwargs [ key ] ) fun_var_kwargs ( farg = 1 , myarg2 = “two” , myarg3 = 3 ) # myarg2和myarg3被视为key, #感觉**kwargs可以当作容纳多个key和value的dictionary

result:

1 2 3 arg : 1 another keyword arg : myarg2 : two another keyword arg : myarg3 : 3

也可以用下面的形式

*args的另外一种方式

1 2 3 4 5 6 7 def fun_var_args_call ( arg1 , arg2 , arg3 ) :      print “arg1:” , arg1      print “arg2:” , arg2      print “arg3:” , arg3 args = [ “two” , 3 ] #list fun_var_args_call ( 1 , * args )

result:

1 2 3 arg1 : 1 arg2 : two arg3 : 3

**kwargs的另外一种方式

1 2 3 4 5 6 7 def fun_var_args_call ( arg1 , arg2 , arg3 ) :      print “arg1:” , arg1      print “arg2:” , arg2      print “arg3:” , arg3 kwargs = { “arg3” : 3 , “arg2” : “two” } # dictionary fun_var_args_call ( 1 , * * kwargs )

result:

1 2 3 arg1 : 1 arg2 : “two” arg3 : 3

 

 

文章转载来自:trustauth.cn

文章版权及转载声明

本文作者:亿网 网址:https://edns.com/ask/post/163350.html 发布于 2024-12-14
文章转载或复制请以超链接形式并注明出处。