Python教程

python的arg, *args, **kwargs

本文主要是介绍python的arg, *args, **kwargs,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  


 

     新手日常学习,python args, *args, **kwargs;

 

  (1). args:就正常的一个形式参数(简称形参),如果不知道什么是形参就去搜索一下 ”函数间参数的传递“。

  这里传啥arg就等于啥。传1,arg=1,传'a', arg='a',传'/',arg='/'。

 

    a. 代码:

def func_me(arg):
    print(arg, type(arg))

func_me(1)
func_me('a')
func_me('/')

   

    b. 效果图:

         

  这里左边是我们传递的值,右边表示这个值是什么类型的变量,比如:第一行我们传递的是1,那么arg=1,且1 是int(整数类型):


 

    (2). *args:我的理解是将传递过来的所有参数,放在一个元组里面来使用,元组(tuple)

    a. 代码:

def func_me(*args):
    print(args, type(args))

func_me(1,2,3)
func_me('a', 'b', 'c')
func_me('/', '+', '-')
func_me(1, 'a', '/')

  

     b. 效果图:

        

  这里我们可以看到,我在func_me()括号里面传递不管什么类型,不管多少变量,最后都会被一个括号包括起来成为一组。这个就是元组的形式,右边也可以看到为tuple(元组类型)。


 

  (3). **kwargs: 我的理解是将传递过来的所有参数,放在一个字典里面使用,字典(dict)

 

    a. 代码:

def func_me(**kwargs):
    print(kwargs, type(kwargs))

func_me(a=1, b=2, c=3)
func_me(m='/', n='+', q='s')
func_me(user_name='admin', password='123456/_dfda')

  代码这里传递的参数要注意是,key = values(键 = 值)这种形式才可以,不然会报错。

 

     b. 效果图:

        

  可以看到,传递过来的参数都被设置成字典的形式来存放了,右边表示类型也为字典(dict)。

  

 


 

  最后就是几个拓展点吧:

  (1): 其实arg, *args, **kwargs这几个参数的名字可以改的,不一定非要是arg, args, kwargs,我们改成*a, *abc, **woaini, 都可以。刚开始学的时候以为一定要是arg, args, kwargs这样命名才行。

  (2): 这三个可以放在一起使用,比如你在写函数时,可以func_me(arg, *args, **kwargs)这样来写。

  (3): 跟着(2)来说,  在给函数里面写参数的时候,顺序一定要按照, arg, *args, **kwargs这个顺序依次来写,不然就会报错。

 

 


如果有错,还请指出。感谢!为了学习,为了成长!solute

                                                        ----recoding my life

 

这篇关于python的arg, *args, **kwargs的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!