20161005 Python 函数
来源:互联网 发布:数控车床编程软件手机版 编辑:程序博客网 时间:2024/05/15 02:14
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
如果已经有一个list或者tuple,要调用一个可变参数怎么办?可以这样做:
>>> nums = [1, 2, 3]>>> calc(nums[0], nums[1], nums[2])14
这种写法当然是可行的,问题是太繁琐,所以Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去:
>>> nums = [1, 2, 3]>>> calc(*nums)14
*nums表示把nums这个list的所有元素作为可变参数传进去。这种写法相当有用,而且很常见。
0 0
- 20161005 Python 函数
- python函数
- python 函数
- python 函数
- Python 函数
- python 函数
- PYTHON函数
- python 函数
- Python函数
- python 函数
- Python 函数
- Python 函数
- Python 函数
- python函数
- python函数
- python 函数
- Python 函数
- Python函数
- openstreetmap-tile-server-ubuntu-16-04
- 资源监控jconsole
- 【codeforces 274B】【树形DP】 B. Zero Tree【一棵树,每个点有权值,每次操作可以对一个联通子集中的点全部加或者减1,且每次操作必须包含点1,问最少多少次操作权值全为0】
- Linux中find常见用法示例
- 机房收费系统——上下机
- 20161005 Python 函数
- 一个菜鸟java码农的成长之路(5):如何获取10个1-20的随机数,要求不能重复
- 【Ubuntu 16】启动Eclipse Indigo报错 error code1 jdk没有配置好
- NSNull,nil
- [剑指offer学习心得]之:从尾到头打印链表
- codeforces 723D Lakes in Berland
- use CryptStringToBinary to unbase64
- window.location.search的用法
- 验证码破解技术四部曲之环境搭建篇(一)