我是靠谱客的博主 如意店员,最近开发中收集的这篇文章主要介绍【flag】python 收集参数 关键字收集参数 ~解包解包! 注意细节呀,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

 收集参数

- 未被定义的可以放入函数中的不限个数的参数

- 这些实参被收集为一个元胞数组(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 收集参数 关键字收集参数 ~解包解包! 注意细节呀所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部