博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
函数中的可变参数
阅读量:7056 次
发布时间:2019-06-28

本文共 664 字,大约阅读时间需要 2 分钟。

可变指的是函数参数的个数可变,可以是1个、2个到任意个,还可以是0个。

 

我们以数学题为例子,给定一组数字a,b,c……,请计算a2 + b2 + c2 + ……。

要定义出这个函数,我们必须确定输入的参数。由于参数个数不确定,我们首先想到可以把a,b,c……作为一个list或tuple传进来,这样,函数可以定义如下:

def calc(numbers):    sum = 0 for n in numbers: sum = sum + n * n return sum

但是调用的时候,需要先组装出一个list或tuple:

>>> calc([1, 2, 3])14 >>> calc((1, 3, 5, 7)) 84

如果利用可变参数,调用函数的方式可以简化成这样:

>>> calc(1, 2, 3)14 >>> calc(1, 3, 5, 7) 84

所以,我们把函数的参数改为可变参数:

def calc(*numbers):    sum = 0 for n in numbers: sum = sum + n * n return sum

定义可变参数和定义一个list或tuple参数相比,仅仅在参数前面加了一个*号。在函数内部,参数numbers接收到的是一个tuple,因此,函数代码完全不变。但是,调用该函数时,可以传入任意个参数,包括0个参数:

>>> calc(1, 2)5>>> calc() 0

转载于:https://www.cnblogs.com/danzhu/p/6354283.html

你可能感兴趣的文章
桌面支持--不能显示中文字体,系统已调成中文 而且不能打字
查看>>
古城钟楼微博:葡萄城程序员演练技术的产物
查看>>
最常用的四种数据分析方法
查看>>
Mesos安装部署笔记
查看>>
epoll的作用和原理介绍
查看>>
服务器远程监控管理(一)-硬件篇
查看>>
Android permission 工具类
查看>>
Tomcat使用与配置
查看>>
Java内存区域与内存溢出异常
查看>>
关于kali小问题解决
查看>>
chrome 调试 websocket
查看>>
Fedora 29 Linux发行版发布
查看>>
初解Python爬虫(一)
查看>>
基于Helm和Operator的K8S应用管理的分享
查看>>
scss指令笔记
查看>>
vue常用的小知识点
查看>>
Sketch 和 PS中的设计图如何实现“自动切图”?
查看>>
赴日工作之在留换签证
查看>>
Java多线程总结
查看>>
异常记录:SunCertPathBuilderException: unable to find valid certification path to requested target...
查看>>