[TOC]
# 函数概念
> 函数(function)是可以重复使用的,用于实现某个功能的代码片段.
> 函数能提高应用的模块性,和代码的重复利用率.
> Python 提供了很多内建函数,比如print(),
> 内置函数功能有限,我们可以创建自己的函数,这叫"用户自定义函数"
**内建函数/方法使用**
![print方法](https://box.kancloud.cn/812b54a3a2f1bf101550a1cfde0c96f0_525x681.png)
>通过以上规律发现,Python中所谓的使用该函数就是把你要处理的对象放在函数名字的括号内! 简单的说往函数中塞东西就可以得到处理的结果!
>Python3.7 中常内置的函数有`69`个
[内置函数官方文档](https://docs.python.org/3/library/functions.html)
![内置函数](https://box.kancloud.cn/758f3f24ff9e94c80478f7f0f16a0bb5_768x400.png)
>一些很实用,一些不常用,比如编码的函数ascii(),bin(),chr()等,这些都是相对底层的编程设计中才会实用到的函数,你深入到一定程度才会派上用场
**数学中的函数**
> 自带函数数量和功能都是有限的,想让Python帮我们做更多事情,就要自己设计符合使用需求的函数.常见函数很简单,我们初中数学中已经掌握了原理!
![数学中的函数](https://box.kancloud.cn/93bab6d5afc124f355af04634db8dd88_610x647.png)
接下来我们通过程序实现!
# 函数定义和调用
![函数定义](https://box.kancloud.cn/6d7453dc00de5af981ead24652ca5524_610x444.png)
最基本的函数结构
> def 函数名():
> 函数功能代码
> 调用函数 函数名()
**注意**
- 关键字不能少: `def` 和 `return ` 是关键字,python依靠这些特殊关键字来明白用户意图,实现更加复杂的编程!所以关键字一定不能少
- 符号不能少且为英文: `()和 :` 不能少,且都为英文!否则报错
```
#符号为中文错误
SyntaxError: invalid character in identifier
```
- 缩进不能少
**函数命名规则**
> 和变量命名规则相同
- 函数名由字母数字 `-` 或 `-`组成,首字母一定不能为数字,尽量用英文避免用中文
- 函数名区分大小写
- 避免使用关键字
- 见名知意
IDE中冒号后面后回车(换行)你会自动得到一个缩进.函数缩进后面的语句被称为语句块(block),缩进是为了表明语句和逻辑的从属关系.是Python最显著特征之一
`初学者会忽略缩进问题,导致代码无法运行成功.,需要特别注意`
**调用**
> 函数不调用不会被执行,调用时参数值个数必须和方法定义时参数格式匹配!
```
函数名(参数1值,参数2值,....); 如果有返回值可以用变量接收!
```
# 练习:
1. 编写计算梯形面积函数
2. 编写温度转换函数
```
def tixing_mianji(a,b,h):
return (a+b)*h/2
a = float(input("请输入梯形上边长:"))
b = float(input("请输入梯形下边长:"))
h = float(input("请输入梯形高:"))
mianji = tixing_mianji(a,b,h)
print("梯形面积为:",mianji)
```
```
# 温度转换为 华氏摄氏度 温度* 9/5 + 32
def wendu_converter(C):
wendu = C*9/5+32
return str(wendu)+'F'
du = float(input("请输入当前温度:"))
print(wendu_converter(du))
```
# 返回值return
# 参数
# 匿名函数
# 变量作用域
# 递归函数
# 作业