Python 普通.关键字收集形参

普通收集形参

定义方法:
def func(*args):
	pass
args => arguments 参数
作用:可以把一些没人要的普通实参收集过来,打包成一个元组,也叫可变参数

def func(a,b,c,*args):
	print(a,b,c)                   # (1, 2, 2)
	print(args)                    # (4, 5, 6, 545)
func(1,2,3,4,5,6,545)
顺序: 普通形参  默认形参 普通收集形参
  • 做任意个数的累加和
    def func(*args):
    	total = 0
    	for i in args:              # 使用时,无需加*号
    		total += i
    	print(total)
    func(1,2,3,4,5,10,20)
    

关键字收集形参

定义方法:
def func(**kwargs):
	pass
kwargs => keyword arguments        # 关键字参数

作用:可以把一些没人要的关键字实参收集过来,打包成一个字典
def func(a,b,c,**kwargs):
	print(a,b,c)
	print(kwargs)                  # {'ee': 1, 'ff': 2, 'zz': 3}
func(a=1,c=3,b=2,ee=1,ff=2,zz=3)
  • 做任意个数的值的拼接
    班长:杜星壮
    班花:卢媛媛
    吃瓜群众:雷亮,西林,goldv
    
        k     ,    v
    1('monitor', '杜星壮')
    2('classflower', '卢媛媛')
    3('egp1', '雷亮')
    4('egp2', '西林')
    5('egp3', 'goldv')
    k,v = ('monitor', '杜星壮')
    k => monitor
    v => 杜星壮
    
    def func(**kwargs):
    	strvar = ""
    	dic = {"monitor":"班长","classflower":"班花"}
    	print(kwargs)               
    	# {'monitor': '杜星壮', 'classflower': '卢媛媛', 'egp1': '雷亮', 'egp2': '西林', 'egp3': 'goldv'}
    	
    	print(  kwargs.items()  )    # 获取字典的键值对
    	dict_items( [('monitor', '杜星壮'), ('classflower', '卢媛媛'), ('egp1', '雷亮'), ('egp2', '西林'), ('egp3', 'goldv')])
    	for k,v in  kwargs.items():
    		                       # 键在字典中,在获取元素,否则报错; dic["egp1"] 没有个该键会报错
    		if k in dic:
    			print(dic[k])       # 循环两遍在字典中  2 班长 班花
    			print(dic[k] + ":" + v)
    		else:
    			print(k)             # 循环三遍在字典外  3 egp1 egp2 egp3
    			strvar += v + " , "  # 拼接一个完整的字符串到strvar这个变量中
    	
    	print(  "吃瓜群众:"  ,   strvar.strip(" , ")  )	
    func(  monitor="杜星壮",classflower="卢媛媛",egp1="雷亮",egp2="西林",egp3="goldv"  )
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值