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

  • 相关阅读:
    【算法】八皇后问题 Python实现
    【算法】摩尔投票
    【数据结构】 二叉树
    【Manacher算法】最长子回文串
    缓存 和 数据库 数据一致性
    python网络编程
    python网络编程
    python
    算法
    Docker使用
  • 原文地址:https://www.cnblogs.com/kingforn/p/10890611.html
Copyright © 2011-2022 走看看