函数-非固定参数

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’}

 

以上是关于函数-非固定参数的主要内容,如果未能解决你的问题,请参考以下文章

函数的非固定参数,默认参数,参数组

函数参数调用和非固定参数

函数-非固定参数

Python直接用字典数组导入到函数的非固定参数

Retrofit 动态参数(非固定参数 非必须参数)(Get Post请求)

默认参数,不固定参数 *args,**kwargs