## 函数的定义 python中定义一个函数使用`def`(define的缩写)关键字,语法格式如下: ```python def <函数名>([参数列表]): <函数体> return <返回值列表> ``` - `def`与函数名中间又一个空格 - 函数名的规则同变量名 - 函数名后的一对小括号必须写,紧跟着的冒号不能少 - 函数体与`def`语句通过四个空格的缩进形成包含关系 - 可以没有return语句,这是函数的默认返回值为None 案例:重复打印 具体功能:打印10次"好好学习,天天向上" 最简单的实现方式是重复使用`print()`函数。 ```python >>> print('好好学习,天天向上') '好好学习,天天向上' >>> print('好好学习,天天向上') '好好学习,天天向上' >>> print('好好学习,天天向上') '好好学习,天天向上' ... >>> print('好好学习,天天向上') '好好学习,天天向上' ``` 这种方式直观简单,但是不够灵活,如果改变打印内容,打印次数,都需要重新编写代码。通过定义一个函数就可以完美的解决这些问题。 ```python >>> def my_print(content, count): ... for i in range(count): ... print(content) ``` 上面的代码: - 定义了一个函数`my_print` - 接收两个参数 - `content`表示要打印的内容 - `count`表示要打印的次数 - 函数体通过`for`循环实现打印`content`,`count`次。 ## 函数的调用 我们在前面的学习中已经多次使用过函数,例如:`print`,`type`等。 定义好函数后,通过函数名加小括号就可以调用函数。 ```python # 接上面的代码 >>> content = '好好学习,天天向上' >>> count = 10 >>> my_print(content, count) '好好学习,天天向上' '好好学习,天天向上' '好好学习,天天向上' '好好学习,天天向上' '好好学习,天天向上' '好好学习,天天向上' '好好学习,天天向上' '好好学习,天天向上' '好好学习,天天向上' '好好学习,天天向上' >>> my_print(content, 3) '好好学习,天天向上' '好好学习,天天向上' '好好学习,天天向上' ``` 这段代码定义了变量`content`表示待打印的字符串,变量`count`表示打印的次数,然后调用`my_print`,调用时传入对应的参数,所以会打印10次`好好学习,天天向上`。紧接着,有调用了`my_print`,但这次传递的打印次数为3。是不是比之前的方式灵活很多。