python传入不定长参数的方法

小编给大家分享一下python传入不定长参数的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

创新互联长期为上1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为闻喜企业提供专业的成都网站建设、成都网站制作,闻喜网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

刚开始接触Python时,向函数传递最多的为对应参数,所谓说的一个萝卜一个坑

def test_arg(a,b):
    print(a,b)

渐渐地发现,在定义函数时,我们并不知道函数调用的时候会传递多少个参数,这个就是今天主题提出的问题,即向函数传递不定数量的参数

def test1_var_args(*arg2):
    print("test1_var_args")
    print(arg2)

def test2_var_arg(**arg):
    print("test2_var_args")
    print(arg)

def test3_var_args(arg1,*arg2):
    print("test3_var_args")
    print(arg1)
    print(arg2)

def test4_var_args(arg1,**arg2):
    print("test4_var_args")
    print(arg1)
    print(arg2)

def test5_var_args(arg1,*arg2,**arg3):
    print("test5_var_args")
    print(arg1)
    print(arg2)
    print(arg3)

def test6_var_args(arg1, arg2="moren",*arg3, **arg4):
    print("test6_var_args")
    print(arg1)
    print(arg2)
    print(arg3)
    print(arg4)

if __name__=="__main__":
    test_arg(1,2)
    test1_var_args()
    test1_var_args(1,2,3,4)

    test2_var_arg()
    test2_var_arg(a="1",b='2')

    test3_var_args(1)
    test3_var_args(1,2,3,4)

    test4_var_args(1,a="2",b="3")

    test5_var_args(1,2,3,4,a="5",b="6")

    test6_var_args(1,a="2",b="3" ,c="4")
    test6_var_args(1, arg2="3", c="4")

#结果
test1_var_args
()
test1_var_args
(1, 2, 3, 4)

test2_var_args
{}
test2_var_args
{'a': '1', 'b': '2'}

test3_var_args
1
()
test3_var_args
1
(2, 3, 4)

test4_var_args
1
{'a': '2', 'b': '3'}

test5_var_args
1
(2, 3, 4)
{'a': '5', 'b': '6'}

test6_var_args
1
moren
()
{'a': '2', 'b': '3', 'c': '4'}
test6_var_args
1
3
()
{'c': '4'}

上述例子可知:

前面带有 *表示为一个不定数量的元组参数,默认是()

前面带有**表示为一个不定数量的字典参数,默认是{}

多种参数混合使用时,需要注意顺序,一般为先位置、再关键字、再不定数量的元组参数、再不定数量的字典参数

特别注意的是,当前带有不定参数的函数传递列表或者字典时,切记,一定要解包否则报错

lis=[1,2,3]def parse(*args):
    for i in args:
      print(i)parse(*lis)#解包

看完了这篇文章,相信你对python传入不定长参数的方法有了一定的了解,想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!

标题名称:python传入不定长参数的方法
网址分享:https://www.cdcxhl.com/article46/ggjjhg.html

成都网站建设公司_创新互联,为您提供静态网站定制网站App开发Google品牌网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

搜索引擎优化