一、自定义函数
编写一个计算圆面积的函数:面积等于pi乘以半径的平方。
下面是编写的函数:
#area.py
import math
def area(radius):
""" Return the area of a circle
with the given radius.
for example:
>>> area(3)
28.274333882308138
"""
return math.pi*radius**2
结果是半径为3的圆的面积为:
>>> area(3)
28.274333882308138
函数area的各个组成部分。第1行(以def开头的那行)称为函数头;函数头后面所有缩进的代码给称为函数体。
函数头总是以关键字def(definition的缩写)打头,接下来为空格,然后为函数名area。函数名命名规则与变量名规则相同。
函数名后面是参数列表,函数列表将只包含圆括号()。
最后一行与循环和if语句一样,函数头也是以冒号:结尾。
一大段字符是函数说明,提醒函数的定义,建议养成编写定义函数说明的好习惯。
return则是返回一个值。return语句执行时,Python跳出函数并返回到调用函数的地方。
二、变量的作用域
请看两个案例:
案例1:
# local.py
import math
def dist(x,y,a,b):
s=(x-a)**2+(y-b)**2
return math.sqrt(s)
结果是:
>>> dist(5,6,2,3)
4.242640687119285
案例2:
#local2.py
import math
def rect_area(x,y,a,b):
width=abs(x-a)
height=abs(y-b)
return width*height
结果是:
>>> rect_area(8,9,4,5)
16
仔细看dist函数,有一个局部变量s,而rect_area有2个局部变量width和height。
函数的参数也被视为局部变量,因此dist有5个局部变量:x、y、a、b、s。
而函数rect_area有6个局部变量。
函数结束的时候,其局部变量则被自动删除。