函数的定义和调用
自定义函数通过关键字def定义,如下所示
def 函数名(函数参数):
函数体
(return...)
以下代码是斐波拉契数列函数的定义和调用
def fibs(n):
result = [0,1]
for i in range(n-2):
result.append(result[-2]+result[-1])
return result
print(fibs(5))
Python中还有另外一种函数——匿名函数,也叫lambda表达式。它是一个表达式,而不是一个语句,能够出现在Python语法不允许def出现的地方。一般来说,lambda用来编写简单的函数,而def定义的函数用来处理更强大的任务。
g = lambda x,y,z:x+y+z
print(g(1,4,5))
10
函数的参数
函数的参数是指提供给函数的值,然后函数就可以用这些值进行运算。再定义函数中的函数名称为形参,而实际提供给函数的值为实参。函数的参数可以大概分为四种:位置参数、关键字参数、默认值参数和不定长数目参数。
- 位置参数
位置参数是指传入参数的值是按照顺序依次复制过去的,如以下求平面上两点的距离:
from math import sqrt
def dis(x1,y1,x2,y2):
print('x1={},y1={},x2={},y2={}'.format(x1,y1,x2,y2))
return sqrt((x1-x2)**2+(y1-y2)**2)
print(dis(1,3,4,5)
x1=1,y1=3,x2=4,y2=5
3.606
- 关键字参数
调用参数可以指定对应参数的名字,这可以采用与函数定义不同的顺序调用。
from math import sqrt
def dis