## 定义

所谓函数就是把具有独立功能的代码块组织为一个小的模块，在需要的时候可以直接调用

## 作用

在开发程序时，函数可以提高编写的效率以及代码的重用。

## 基本使用

### 步骤

使用函数有两个步骤：

- 定义函数：封装独立功能的代码块

  ```
  def 函数名():
  
      函数封装的代码
      ……
  ```

  - `def`为英文define的缩写，即定义的意思
  - 函数名称应该能表达函数封装代码的功能，方便后续理解调用
  - 函数名称的命名应该符合标识符的命名规则

- 调用函数：使用封装好的成功

  通过 `函数名()` 即可完成对函数的调用

## 参数

### 作用

函数的参数，增加函数的通用性，针对相同的数据处理逻辑，能够适应更多的数据。在函数内部，把参数当做变量使用，进行需要的数据处理。函数调用时，按照函数定义的参数顺序，把希望在函数内部处理的数据，通过参数传递

### 形参和实参

- 形参：定义函数时，小括号中的参数，是用来接收参数用的，在函数内部作为变量使用
- 实参：调用函数时，小括号中的参数，是用来把数据传递到函数内部用的

## 返回值

在程序开发中，有时候，会希望一个函数执行结束后，告诉调用者一个结果，以便调用者针对具体的结果做后续的处理。返回值是函数完成工作后，最后给调用者的一个结果。在函数中使用`return`关键字可以返回结果，调用函数一方，可以使用变量来接收函数的返回结果。



**`return` 表示返回，后续的代码都不会被执行**



## 嵌套调用

一个函数里面又调用了另外一个函数，这就是函数嵌套调用。如果函数中，调用了另外一个函数那么执行到调用 外层函数时，会先把被嵌套函数中的任务都执行完才会执行后续的代码

## 模块中的函数

模块是 Python 程序架构的一个核心概念。模块就好比是工具包，要想使用这个工具包中的工具，就需要导入 import这个模块。每一个以扩展名 `py` 结尾的 `Python` 源代码文件都是一个模块。在模块中定义的全局变量、函数都是模块能够提供给外界直接使用的工具
**模块名也是一个标识符**




