写在前面: 经过前面几部分的学习,我们已经可以开发常规的一些简单功能处理程序了。 但是对于我们的项目开发还是远远不够的。本节内容开始进入基础进阶部分的学习

1. 什么是函数

我们通常在进行一些功能处理的过程中,需要执行一行或者多行代码来完成整个业务流程的处理,如: ```

# 计算指定半径的圆的面积
# 定义圆周率
pi = 3.1415926;
# 指定用户输入圆的半径,通过int()将输入的数据转换成整数
r = int(input("请输入圆的半径:"));
# 执行计算功能,求取圆的面积
area = pi * (r ** 2);
print("您要求的半径为" + r + "的圆的面积为:"  + str(area));

``` 上面这段程序相信大家都能看懂,就是求取用户输入一个指定半径的圆的面积 如果我们在不确定的某个时刻,又需要求取另一个圆的面积,应该怎么做呢?

思考中....没事,我重新写一下这段代码! 这样,合适吗?! 合适,但是存在问题,什么问题呢…就是代码重复,工作重复,如果每天这样大量重复的工作出现,程序就不再是编程,而是搬砖了。

此时,我们python和其他编程语言一样,可以将这段程序封装成函数,通过一个定义的函数封装好这些代码,在某些需要的时候,通过函数的名称直接调用即可。

1.1. 函数的定义

函数的定义非常简单,python中通过def关键字来定义函数 ```

def 函数名称(参数列表):
    函数中封装的代码块
     [return 返回值]

```

代码块,就是多行代码作为一个整体,在python中,通过缩进的方式来确定不同的代码块,临近的相同缩进的代码为一个整体代码块。 一个python程序中,所有出现缩进的空格数量必须一致。 函数中的封装的代码块必须是缩进一定部分的多行代码。

按照上面的例子,我们定义一个求取圆的面积的函数 ```

# 定义一个函数,用于计算指定半径的圆的面积
def getCircleArea(radius):
    pi = 3.1415926;
    area = pi * (radius ** 2);
    return area;

``` 如上所示,一个计算圆的面积的函数就被定义好了,函数的名称为getCircleArea。 切记,定义函数不会让函数中的代码执行。

1.2. 函数的调用

定义好的函数,我们需要通过函数的名称来调用函数,函数中的代码才会执行。 调用函数通过函数名称()来调用函数,后面的圆括号中,可以根据定义函数的参数列表给函数传递对应的参数 ```

r = int(input("请输入圆的半径:"));
a = getCircleArea(r);
print("圆的面积是:" + str(a));

``` 这样,我们就可以在需要的时候,直接通过定义好的函数名称getCircleArea(radius)来进行函数功能的重复执行了。

下一节,我们针对函数的参数进行单独的讲解