zoukankan      html  css  js  c++  java
  • 函数-非固定参数

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

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

  • 相关阅读:
    2018.12.29-dtoj-3626
    2018.12.28-bzoj-3784-树上的路径
    2018.12.28-bzoj-2006-[NOI2010]超级钢琴
    2018.12.28-dtoj-3648-寝室管理
    2018.12.27-dtoj-4089-line
    2018.12.27-dtoj-3151-相遇
    2018.12.25-dtoj-4086-针老师(truth) || dtoj-3657: 排列(permutation)
    不要62 hdu2089
    Kia's Calculation hdu4726
    The Moving Points hdu4717
  • 原文地址:https://www.cnblogs.com/kingforn/p/10890611.html
Copyright © 2011-2022 走看看