ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 函数定义 **根据输入做特定的处理,将处理结果返回叫函数**。 ![](https://upload.wikimedia.org/wikipedia/commons/b/b8/Apple_slicing_function.png) 我们先来看函数的数学定义: *给定一个数集A,假设其中的元素为x。现对A中的元素x施加对应法则f,记作f(x),得到另一数集B。假设B中的元素为y。则y与x之间的等量关系可以用y=f(x)表示。我们把这个关系式就叫函数关系式,简称函数。函数概念含有三个要素:定义域A、值域C和对应法则f。其中核心是对应法则f,它是函数关系的本质特征* ![](https://www.shuxuele.com/sets/images/function-fx-x2.svg) 我们在在学习数学的时候学习过很多二元一次方程:比如: * *3x+2y=5* * *2x+3y=8* 我们首先会把方程变成这种形式: * *y = (5-3x)/2* * *y = (8-2x)/3* 经过这层转换,等式的左边是我们想要得到的结果变量,等式的右边是我们我们要做的数据处理。我们每给出一个x就会根据函数定义得到一个y。这个过程就叫做函数化。 ## python里的函数定义 python的函数定义只是把我们的数学模型做了简单改造。来看代码: ~~~ def square(a): print(a) return a * a ~~~ 我们对照函数定义来理解一下这段代码: **根据输入做特定的处理,将处理结果返回叫函数**。 我们代码的第一行`def square(a)` 是对函数的定义声明。可以抽象为:`def 函数名字(输入参数)`。其中 def 是 definition(定义)的缩写。 代码的第二行和点航是对输入的处理,也就是**函数体**。 代码的第三行 `return a*a` 是**处理结果返回**的部分,**return** 是返回的意思。 ## 函数调用 函数调用很简单,看代码: ~~~ b = square(2) ~~~ 我们只需要用函数名字加函数参数就可以完成函数的调用。这个是不是很熟悉?我们之前用的`print('helllo')`、`input()` 都是调用。 函数调用后代码会先执行函数体的代码,当函数体代码执行完后继续原来下面的代码。 ## 函数的意义 函数是编程语言的核心,通过使用函数。能够真正的让我们的代码工程化,变得可维护。整体来看,使用函数有如下好处: ![](http://gdta.ctoy.com.cn/data/upload/image/201611/2b94a70292bbbb7f5d2af5301e767326.jpg) **1. 程序结构清晰** 通过函数,我们可以把代码分块,每块负责不同的模块(事情)。这样代码清晰容易管理。 我们可以想一下小区的垃圾分类,如果我们没有将生活垃圾按模块(分类)放到不同的垃圾桶里。那垃圾处理就会非常麻烦了。 ![](http://p3.pstatp.com/large/pgc-image/1525822568138e410d9bf6a) **2. 复用性好** 通过使用函数,我们可以将重复的、类似的代码只写一次,通过函数调用来简化我们的代码。 **3. 容易修改** 因为我们的代码通过函数分成了一个一个一个的模块,所以我们想改某个模块的功能,只需要关注对应的函数就好了,对整体没有太大影响。