0
点赞
收藏
分享

微信扫一扫

Python中的*args 和**kwargs的用法

海滨公园 2023-06-13 阅读 54


args就是所有参数的数组,kwargs就是当你传入key=value是存储的字典,当函数的参数不确定时,可以使用*args 和kwargs,*args 没有key值,kwargs有key值

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:

 


arg          :          1            


another           arg          :          two  


another           arg          :          3

 




 

**kwargs:

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:

 

arg          :          1            


              another           keyword           arg          :          myarg2          :          two  


              another           keyword           arg          :          myarg3          :          3



 

也可以用下面的形式:

 

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:

 

arg1          :          1            


              arg2          :          two  


              arg3          :          3



 

 

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:

 

arg1          :          1            


              arg2          :          "two"            


              arg3          :          3


 




 

当所有传参为key=value形式将返回字典形式



 



 



 

举报

相关推荐

0 条评论