编写函数时,要在函数名前加def,参数后面有冒号。
>>> def squareSum(L): #计算平方和
>>> sum = 0
>>> for x in L:
>>> sum += x * x
>>> return sum
>>> L = [1, 2, 3, 4, 5]
>>> print(squareSum(L))
55
多个返回值:(通过type()可知其实还是一个返回值,类型是tuple)
>>> import math
>>> def square_root(a, b, c):
>>> root = math.sqrt(b*b - 4*a*c)
>>> x1 = (-b + root) / (2 * a)
>>> x2 = (-b - root) / (2 * a)
>>> return x1, x2
>>> print(square_root(2, 3, 0))
>>> print(square_root(1, -6, 5))
(0.0, -1.5)
(5.0, 1.0)
默认参数:(默认参数只能定义在必需参数的后面,否则程序无法判断)
>>> def power(x, n = 2):
>>> s = 1
>>> while n > 0:
>>> n -= 1
>>> s = s * x
>>> return(s)
>>> print(power(5, 3)) # 计算5的3次方
>>> print(power(6)) # 计算6的平方(因为默认指数为2)
125
36
可变参数:(可变参数前有个星号“*”)
>>> def average(*args): #计算平均数
>>> length = len(args)
>>> sum = 0.0
>>> if len(args) == 0:
>>> return sum
>>> for x in args:
>>> sum += x
>>> return sum / length
>>> print(average())
>>> print(average(1, 2))
>>> print(average(1, 2, 3, 4, 5))
0.0
1.5
2.4