创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的昂仁网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!小编给大家分享一下python传入不定长参数的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
刚开始接触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/article48/ddgpep.html
成都网站建设公司_创新互联,为您提供定制网站、App开发、移动网站建设、软件开发、网站维护、网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联