一、定義python
是一系列功能的結合體,本質上一個個的.py文件,至關於模塊包着一堆函數體代碼。函數
二、三種來源spa
2.一、python內置的模塊:time , os ,sys, turtle 等code
2.二、第三方模塊:requestsblog
2.三、自定義模塊:本身寫的.py文件內存
三、四種表現形式作用域
3.一、使用python編寫的文件rem
3.二、編譯後共享的庫DLL或C或C++庫requests
3.三、包下面帶有__init__一組.py文件it
3.四、python解釋器下的.py文件-------- python解釋器下的文件夾-----------一個個的py文件
ps:包指的是內部包含__init__.py文件夾。
包的做用:存放模塊,包能夠更好的管理模塊。
四、爲何要使用模塊
模塊能夠更好地幫咱們管理功能代碼,好比函數,變量名...
能夠將項目拆分紅一個個的功能,分別存放在不用的py文件(模塊)中。
五、模塊的使用
鼠標右鍵建立py文件,在py文件中編寫python代碼。
在一個文件中,經過import 關鍵字導入模塊。注意:import 導入模塊時,模塊名不能.py後綴。
當首次導入模塊時,會作三件事:
1 執行源文件代碼
2 產生一個新的名稱空間用於存放源文件執行過程當中產生的名字
3 在當前執行文件所在名稱空間中獲得一個名字func,更名字指向新建立的模塊名稱空間,若要引用模塊名臣空間中的名字,須要加上該前綴,以下
import os #導入模塊 os.open() #調用模塊os中的open函數
加上os. 做爲前綴就至關於說明要引用os名稱空間中的名字。
強調:第一次導入模塊已經將其加載到內存空間了,以後的重複導入會直接引用內存中已存在的模塊,不會重複執行文件。
六、import語句導入多個模塊
6.一、import語句
import module1 import module2 import module3 #或 import module1,module2,module3
不建議第二種方式,第一種更規範,可讀性更強。
'''
分類導入:
1. python內置模塊 2.第三方模塊 3.自定義模塊 '''
文件開頭導入模塊屬於全局做用域,在函數體內導入模塊屬於局部做用域。
6.二、from-import語句
from os import open,remove,rename open() rename() remove() #無前綴的好處是代碼更簡潔,可是容易與當前名稱空間中的名字衝突, # 若是當前名稱空間存在相同名字,後定義的名字會覆蓋以前定義的名字。
6.三、其餘導入語法as
import os as o o.rename()
七、循環導入問題
解決方案1:導入語句放到最後,保證在導入時,因此名字都已經加載過
解決方案2:導入語句放到函數中,只有在調用函數時纔會執行其內部代碼
八、區分py文件的兩種用途
一種被當程序/腳本執行,一種被當模塊導入。區分方法:每一個py文件內置的__name__變量,該變量在py文件中當腳本執行時賦值爲__main__,當模塊導入時賦值爲模塊名。
if __name__ == '__main__': foo.py被當作腳本執行時運行的代碼 else: foo.py被當作模塊導入時運行的代碼