传入的参数的个数是可变的。
例子:定义一个函数,通过给出一组数,返回这组数中最大值与最小值的和。
    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函数中。
        这种写法非常常见,非常有用。
  

最新文章

  1. wordpress上传图片时重命名--修改插件时遇到的一些问题
  2. 【openGL】指定着色模型
  3. EF调用函数日期查询
  4. Hadoop 系列 - (1) - 学习随笔 - 起源、构成
  5. 修改Servlet模板
  6. IOS开发之UIView的基本使用
  7. Android Fragment与Activity之间的数据交换(Fragment从Activity获取数据)
  8. 探秘ReSharper8.1版本中Architecture(架构工具)的改进
  9. get,post,jsonp数据交互—百度下拉列表
  10. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ HTTP请求
  11. 我的 FPGA 学习历程(06)—— 二进制转格雷码
  12. vi命令保存
  13. spring InitializingBean和DisposableBean init-method 和destroy-method @PostConstruct @PreDestroy
  14. LOJ2116 [HNOI2015] 开店 【点分治】
  15. insertBefore(),appendChild()创建添加列表实例
  16. oracle上机实验内容
  17. elasticsearch之JAVA环境变量报错:could not find java; set JAVA_HOME or ensure java is in PATH
  18. 现有工程中集成Cordova
  19. python图像处理 模式转化简单总结
  20. 转载:mysql添加用户、删除用户、授权、修改密码

热门文章

  1. CSS属性(背景属性)
  2. Python 写入和读取Excel数据
  3. Linux内核剖析——操作系统的启动
  4. Hibernate初识
  5. CTF-WEB-HCTF 2018 Warmup
  6. java后端开发三年!你还不了解Spring 依赖注入,凭什么给你涨薪
  7. 如何用ABBYY解决文档图像存在缺陷,OCR 准确性低的问题
  8. Word 2013中如何直接调用MathType
  9. 关于Boom 3D预设音效的妙用,如何鉴赏音乐流派
  10. 解决Redis中数据不一致问题