概述
收集参数
- 未被定义的可以放入函数中的不限个数的参数
- 这些实参被收集为一个元胞数组(tuple)
- 语法:
1 def func(*argus): 2 func_body 3 4 # 调用 5 func(p1,p2,p3...)
关键字收集参数
- 把关键字参数按字典格式存入收集参数
- 语法:
1 def func(**kwargs): 2 func_body 3 4 # 调用 5 func(p1=v1,p2=v2,p3=v3...)
- details:
- 若原函数中有关键字形参 则形参对应实参外的多余参数被放入关键字收集参数中
栗子:
1 def func(**kwargs): 2 print('这是一个有关键字收集参数的函数') 3 print(type(kwargs)) 4 # 访问字典中的内容格式!!!!!!!!! 5 for k,v in kwargs.items(): 6 print(k,'=',v) 7 8 9 10 func(a='A',b=2,c=3)
执行结果:
这是一个有关键字收集参数的函数
<class 'dict'> a = A b = 2 c = 3
参数混合使用时的调用顺序
这个不好说 ? 啦啦啦 小栗子帮忙解释下(*Φ皿Φ*)
栗子:
1 # 开学时的自我介绍 2 # 注意参数的顺序们 3 def stu(name,age,*args,hobby='none',**kwargs): 4 print('hello everyone') 5 print('i am {0}, {1} years old'.format(name,age)) 6 if hobby == 'none': 7 print('sorry,i am a boring teenager') 8 else: 9 print('my hobby is {0}'.format(hobby)) 10 print('以下是收集参数') 11 # 又是收集参数的用法!!! 12 for i in args: 13 print(i) 14 print('以下是关键字收集参数') 15 for k,v in kwargs.items(): 16 print(k,'is',v) 17 18 19 stu(name='lily',age=18) 20 print() 21 stu('lily',18,'i am glad to meet all of you','lalalalala','happy very much!!!',hobby='pianting',hobby2='singing',hobby3='eating')
执行结果:
hello everyone i am lily, 18 years old sorry,i am a boring teenager 以下是收集参数 以下是关键字收集参数 hello everyone i am lily, 18 years old my hobby is pianting 以下是收集参数 i am glad to meet all of you lalalalala happy very much!!! 以下是关键字收集参数 hobby2 is singing hobby3 is eating
收集参数的解包
(将参数装入list后 把list的值放入收集参数 而非把list放入收集参数)
栗子:
1 def func(*args): 2 for i in args: 3 print(type(i)) 4 print(i) 5 # 直接调用 6 l = [1,2,3,4,5] 7 func(l) 8 9 print() 10 # 对list进行解包(也用✳) 11 l1 = [5,4,3,2,1] 12 func(*l1)
执行结果:
<class 'list'> [1, 2, 3, 4, 5] <class 'int'> 5 <class 'int'> 4 <class 'int'> 3 <class 'int'> 2 <class 'int'> 1
补充:对字典格式的的访问
?:
1 # 双层列表(嵌套列表) 2 a = [[1,2,3],['q','w','e'],['*','*','*']] 3 # 遍历 4 for x,y,z in a: 5 print(x,'-',y,'-',z) 6 # 看 它们是一一对应的
执行结果:
1 - 2 - 3 q - w - e * - * - *
转载于:https://www.cnblogs.com/cherry71129/p/9436270.html
最后
以上就是如意店员为你收集整理的【flag】python 收集参数 关键字收集参数 ~解包解包! 注意细节呀的全部内容,希望文章能够帮你解决【flag】python 收集参数 关键字收集参数 ~解包解包! 注意细节呀所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复