## 函數的定義
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。是不是比之前的方式靈活很多。
- 第1章 編程基礎
- 零基礎能學Python嗎?
- 編程語言是什么
- 編譯型與解釋型編程語言的區別
- python是什么?
- 學python能干什么?
- 第2章 python開發環境搭建
- windows下安裝python
- cmd命令行工具
- 環境變量如何設置?
- 如何運行python程序?
- 學習神器Jupyter lab
- 第3章 基本數據類型
- 基本數據類型概述
- 變量的定義和使用
- 整數類型
- 浮點數類型
- 算術運算符
- 賦值運算符
- 字符串類型
- 字符串常用方法
- 字符串格式化
- 列表類型
- 元組類型
- 可變與不可變類型
- 深淺拷貝
- 集合類型
- 字典類型
- 布爾型
- NoneType
- 第4章 程序流程控制
- 程序結構
- if分支語句
- while條件循環
- for循環
- 循環控制關鍵字
- 異常處理
- 第5章函數與代碼復用
- 函數的定義和調用
- 函數的參數
- 函數的返回值
- lambda函數
- 變量作用域
- python內建函數
- 第6章 面向對象
- 類和對象
- 屬性
- 方法
- 繼承
- super()函數
- 多態
- 私有化
- 自省與反射機制
- 第7章 模塊和包
- 模塊
- 包
- 第三方庫
- 第8章 文件IO操作
- 文件概述
- 字符編碼
- 字節類型
- python讀取文件
- python寫文件
- 文件指針