定义
def my_abs(x):
if x >= 0:
return x
else:
return -x
注意:如果没有return 语句,执行完成之后,返回return None;
返回多个值
import math
def move(x, y, step, angle):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny
x, y = move(100, 100, 60, math.pi / 6)
print x , y
看起来是两个返回值,其实还是一个:
>>> r = move(100, 100, 60, math.pi / 6)
>>> print r
>>>(151.96152422706632, 70.0)
其实多个返回值,实际上是返回一个tuple
默认参数
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
print power(2) #4
注意:默认参数只能定义在必需参数的后面
可变参数
Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部,直接把变量 args 看成一个 tuple 就好了:
def average(*args):
if args :
return sum(args)*1.0/len(args)
else :
return 0.0
print average()
print average(1, 2)
print average(1, 2, 2, 3, 4)