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

  • 相关阅读:
    Silverlight Working with Sockets
    在Visual Studio 2010中使用gtest
    一个简单排序(就是传说中的冒泡)
    lucene锁与IndexModifier
    SQL Server 中的CTE递归查询
    利用Intelligencia.UrlRewriter.dll实现URL重写
    hibernate.cfg.xml详解
    WCF能干什么?
    C# 生成PDF
    MS SQL Server查询优化方法
  • 原文地址:https://www.cnblogs.com/kingforn/p/10890611.html
Copyright © 2011-2022 走看看