首页 > 其他 > 详细

函数-非固定参数

时间:2019-05-19 21:04:26      阅读:79      评论:0      收藏:0      [点我收藏+]

# 刚才你写的报警,发给某个人。

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

 

函数-非固定参数

原文:https://www.cnblogs.com/kingforn/p/10890611.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!