1、定义函数
在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。
定义函数时,需要确定函数名和参数个数;
如果有必要,可以先对参数的数据类型做检查;
函数体内部可以用return随时返回函数结果;
函数执行完毕也没有return语句时,自动return None。
函数可以同时返回多个值,但其实就是一个tuple
#-*- coding:utf-8 -*-
#返回多个值
def my_abs(x):
if x >=0:
return x
else:
return -x
print my_abs(4)
print my_abs(-9)
运行:
4
9
- **注意:函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。
如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。
return None可以简写为return。**
2、函数返回多个值
#-*- coding:utf-8 -*-
#返回多个值
import math
def move(x, y, step, angle=0):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny
print move(3,4,0,9)
print move(1,2,3)
运行:
(3.0, 4.0)
(4.0, 2.0)
注意: 参数angle为默认参数,若不定义,默认值为0
3、python的参数
- 例子1
定义一个函数,计算x的n次方,参数为x,n,默认是x的2次方
#-*- coding:utf-8 -*-
def power(x, n=2):
s = 1
while n > 0:
n = n - 1
s = s * x
return s
print power(2,4)
print power(5)