函数-非固定参数
Posted kingforn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数-非固定参数相关的知识,希望对你有一定的参考价值。
# 刚才你写的报警,发给某个人。
def send_alert(msg,user)
#那如果公司规模扩大了,要求发给10个人或更多怎么办呢?
#难道你要重复敲10行或更多的代码?
def send_alert(msg,user1)
def send_alert(msg,user2)
def send_alert(msg,user3)
def send_alert(msg,user4)
。
。
。
#其实不用这么麻烦!
def send_alert(msg,*users)
send_alert(‘cpu过高‘,‘alex’,‘jack’.....)
#如果参数中出现 *users,传递的参数就可以不再是固定个数,传过来的所有参数打包元组给(*users)
#方式一:
send_alert(‘cpu过高‘,‘alex’,‘jack’.....)
#方式二:
send_alert(‘cpu过高‘,*[‘alex’,‘jack’.....])
def func(name,*args,**kwargs)
print(name,args,kwargs)
func(‘alex‘,22,‘tesla‘,‘500w‘)
#执行结果:
alex (22, ‘tesla’, ‘500w’){}
#未定义的参数是放到后面字典里的
列子:
func(‘alex‘,22,‘tesla‘,‘500w‘,addr=‘山东’,num=12442323)
#执行结果:
alex (22, ‘tesla’, ‘500w’){‘num’:12442323,‘addr’:‘山东’}
#如果是字典呢会是什么样的效果我来看一下
d = {‘degree’:‘primary school’}
func(‘peiqi’,d)
打印结果:
peiqi ({‘degree’:‘primary school’},){}
#那怎么样才能传到后面参数里去呢
func(‘peiqi’,**d)
打印结果:
peiqi (){‘degree’:‘primary school’}
以上是关于函数-非固定参数的主要内容,如果未能解决你的问题,请参考以下文章