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函数中。
            这种写法非常常见,非常有用。
      
  • 相关阅读:
    测试websocket
    goreplay-测试app的真实流量
    apache -ab
    微信公众平台开发(69)百度地图导航
    微信公众平台开发(70)经济指标财经大事
    微信公众平台开发(68)苹果IMEI查询
    微信公众平台开发(67)百度百科
    微信公众平台开发(66)人品计算
    微信公众平台开发(65) 微博树洞
    微信公众平台开发(64)航班动态
  • 原文地址:https://www.cnblogs.com/konggg/p/8989141.html
Copyright © 2011-2022 走看看