函數定義:所謂**函數**,就是把 **具備獨立功能的代碼塊** 組織爲一個小模塊,在須要的時候 **調用**函數
1.函數的步驟工具
(1). 新建 `04_函數` 項目
(2). 複製以前完成的 **乘法表** 文件
(3). 修改文件,增長函數定義 `multiple_table():`
(4). 新建另一個文件,使用 `import` 導入而且調用函數blog
2.函數定義ip
.........................it
def 函數名():編譯
函數封裝的代碼
……
```table
*函數名稱** 的命名應該 **符合** **標識符的命名規則**
* 能夠由 **字母**、**下劃線** 和 **數字** 組成
* **不能以數字開頭**
* **不能與關鍵字重名**import
3.第一個函數編寫變量
----------------------------------------------------------------------擴展
**需求**
* 1. 編寫一個打招呼 `say_hello` 的函數,封裝三行打招呼的代碼
* 2. 在函數下方調用打招呼的代碼
-------------------------------------------------------------------------------
* 定義好函數以後,只表示這個函數封裝了一段代碼而已
* 若是不主動調用函數,函數是不會主動執行的
注意:不能將函數調用** 放在 **函數定義** 的上方,控制檯會提示 `NameError: name 'say_hello' is not defined`
* 在 **連續的三對引號** 之間編寫對函數的說明文字
* 在 **函數調用** 位置,使用快捷鍵 `CTRL + Q` 能夠查看函數的說明信息
4.函數改造(使用參數將函數更通用)
函數調用時,按照函數定義的**參數順序**,把 **但願在函數內部處理的數據**,**經過參數** 傳遞
50,20是實參:是用來把數據傳遞到 **函數內部** 用的
a,b是形參:是用來接收參數用的,在函數內部 **做爲變量使用**
5.函數的返回值
*返回值** 是函數 **完成工做**後,**最後** 給調用者的 **一個結果**
* 在函數中使用 `return` 關鍵字能夠返回結果
注意:`return` 表示返回,後續的代碼都不會被執行
6.函數的嵌套
7.函數和white循環嵌套的實例
8.什麼是模塊?怎麼導入模塊?怎麼調用函數和變量
以擴展名 `py` 結尾的 `Python` 源代碼文件都是一個 **模塊**
在模塊中定義的 **全局變量** 、 **函數** 都是模塊可以提供給外界直接使用的工具
**模塊**能夠讓 **曾經編寫過的代碼** 方便的被 **複用**
模塊名稱不能以數字開頭
9.瞭解下什麼是pyc文件
Python` 在解釋源程序時是分紅兩個步驟的
1. 首先處理源代碼,**編譯** 生成一個二進制 **字節碼**
2. 再對 **字節碼** 進行處理,纔會生成 CPU 可以識別的 **機器碼**
* 有了模塊的字節碼文件以後,下一次運行程序時,若是在 **上次保存字節碼以後** 沒有修改過源代碼,Python 將會加載 .pyc 文件並跳過編譯這個步驟* 當 `Python` 重編譯時,它會自動檢查源文件和字節碼文件的時間戳* 若是你又修改了源代碼,下次程序運行時,字節碼將自動從新建立