函数的参数
来源:互联网 发布:ubuntu磁盘一直不足 编辑:程序博客网 时间:2024/05/01 08:10
python的函数定义简单,灵活度大,除了正常定义的函数外,还可以使用默认参数、可变参数和关键字参数,使得定义出来的接口,不但能处理复杂的函数,还能简化调用者的代码。
默认参数
默认参数就是编写参数值的时候,给参数设定一个默认值,以例子做说明,定义一个计算x^2的函数:
def power(x):
retern x*x
当调用power函数时,需要传递一个参数power(4)
如果计算x^3怎么办?可以再定义一个power3函数,如果还要计算x^4,x^5.....x^n 这就不可能要定义无限多个函数
那么可以把power(x)改写为power(x,n),用来计算x^n,于是如下
def power(x,n):
s=1
while n>0:
n=n-1
s=s*x
return s
可以计算任意幂的。但是这是引发新问题,以前旧的代码调用失败,原因是我们增加了一个参数,旧代码无法调用,涉及到还要修改旧的代码。如果不修改旧代码,这时候默认参数就有用场了,由于经常计算x^2,所以,完全可以把第二个参数n的默认值设定为2
def power(x,n=2):
s=1
while n>0:
n=n-1
s=s*x
return s
这样,当调用power(5)时,相当于调用power(5,2).对于其他n>2的,必须明确传入n。设置默认参数,有几点要注意:
1必选参数在前,默认参数在后,否则pthon报错。
2变化大的参数放前面,变化小的参数放后面,变化小的参数就可以作为默认参数。使用默认参数,可以降低调用函数的难度。
3 默认参数有坑需要注意,默认参数必须指向不变对象NOne、str就是不变对象
二可变参数
可变参数,就是传入的参数是可变的,可以传入1个,两个任意个。已数学题为例 a^2+b^2+c^2.........要定义这个函数,我们必须确定输入的参数。由于本计算题参数个数不确定,我们可以把a,b,c......作为一个tuple或list传进来,这样函数可定义如下:
def calc(number):
sum=0
for n in number:
sum=sum+n*n
return sum
调用 calc([1,2,3])。改为可变参数就是如下:
def calc(*number):
sum=0
for n in number:
sum=sum+n*n
return sum
调用 calc(1,2,3).定义可变参数与list或tuple参数相比,仅仅在参数前加一个*号。在函数内部,参数number接受的是tuple,代码完全不变。
学习于http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738281887b88350bd21544e6095d55eaf54cac23f000
- python函数 - 函数的参数
- main函数的参数
- main函数的参数
- Main 函数的参数
- main()函数的参数
- main函数的参数
- main函数的参数
- main函数的参数
- main函数的参数
- 函数的参数传递
- 函数的参数传递
- 函数参数的类型
- main函数的参数
- main函数的参数
- main函数的参数
- main函数的参数
- main函数的参数
- main函数的参数
- .NET开源代码
- FZU - 1894选拔志愿者【单调队列】
- git pull更新错误解决办法
- Js中===和==
- Android开发中网络请求的压缩 ── GZip的使用
- 函数的参数
- 13. Roman to Integer
- ubuntu创建虚拟硬盘
- tableview的两个取得重用cell方法的区别
- 1.0.1 JavaScript Array对象
- 安卓开发.SO文件
- 常用代码备份--OLE操作Excel之sheet复制
- Swift 基本控件UISlider学习
- Linux du命令