zoukankan      html  css  js  c++  java
  • Day5

    传入的参数的个数是可变的。
    例子:定义一个函数,通过给出一组数,返回这组数中最大值与最小值的和。
        def msum(numbers):
            r = max(numbers) + min(numbers)
            return r
           
        >>>msum([1,2,3,4,5])
        6
        numbers需要为list或者tuple,相当于:
        a = [1,2,3,4,5]
        msum(a)
       
    如果使用可变参数,那么调用函数时的变化如下:
        未使用可变参数:msum([1,2,3,4,5])
        使用可变参数:     msum(1,2,3,4,5)
    将函数参数改为可变参数:
        def msum(*numbers):
            r = max(numbers) + min(numbers)
            return r
          
           运行结果:
            >>> def msum(*numbers):
            ...     r = max(numbers) + min(numbers)
            ...     return r
            ...
            >>> msum(1,2,3,4)
            5
            >>> msum(1,2,5,7,8,9,123,323123)
            323124
            在参数前加*号后,参数numbers接收到的是一个tuple,因此在代码完全不变的情况下,调用函数可以传入任意个参数。
           
    调用可变参数
        如果已经有了一个list或tuple,调用一个可变参数的方法:
       
            >>> a = [1,2,3,4,5,6]
            >>> msum(a[0],a[1],a[2],a[3],a[4],a[5])
            7
       太麻烦了。
       在list或tuple前加*号,把list或tuple的元素变为可变参数传进函数!
            >>> a = [1,2,3,4,5,6,7,8,10,12,123123123,122]
            >>> msum(*a)
            123123124
           
            *a 表示把a这个list的所有元素作为可变参数传递到msum函数中。
            这种写法非常常见,非常有用。
      
  • 相关阅读:
    AdvComboBox
    带有可选选项的输入文本框(组合框)
    使用JavaScript为整个网站创建通用的Twitter按钮
    高速绘图控件
    Outlook样式分组列表控件
    CComboBox的禁用项目
    一个自定义的WPF滑块按钮
    23个设计模式
    MVC执行流程
    SQL注入面试
  • 原文地址:https://www.cnblogs.com/konggg/p/8989141.html
Copyright © 2011-2022 走看看