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函数中。
            这种写法非常常见,非常有用。
      
  • 相关阅读:
    thinkphp 防止sql注入
    Thinkphp模板怎么使用自定义函数
    Jquery 获取文件内容
    php,Allowed memory size of 8388608 bytes exhausted (tried to allocate 1298358 bytes)
    thinkphp 定位查询 Model:last您所请求的方法不存在!
    if condition volist
    thinkPHP 无法create,无法插入数据,提示非法数据对象
    eclipse 最有用的10个快捷键
    button 禁止
    thinkphp显示重复两次
  • 原文地址:https://www.cnblogs.com/konggg/p/8989141.html
Copyright © 2011-2022 走看看