一、模組的概念
在python中,乙個.py檔案就稱之為乙個模組(module);使用模組最大的好處是提高了**的可維護性。
二、模組的分類
(1)python標準庫三、模組的匯入方法(2)第三方模組
(3)應用程式自定義模組
1.import 語句::
import module1[, module2[,... modulen]
當我們使用import語句的時候,python直譯器有自己的搜尋路徑,存在sys.path裡。
['', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu',
'/usr/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/dist-packages', '/usr/lib/python3/dist-packages']
注意:在當前目錄下存在與要引入模組同名的檔案,就會把要引入的模組遮蔽掉。
2.from…import 語句:
from modname import name1[, name2[, ... namen]]
這個宣告不會把整個modulename模組匯入到當前的命名空間中,只會將它裡面的name1或name2單個引入到執行這個宣告的模組的全域性符號表。
3.from…import* 語句
from modname import *
匯入乙個模組中的所有專案。
四、執行本質
首先通過sys.path找到.py檔案,然後執行該檔案指令碼(全部執行),然後將相應的變數名載入到命名空間。
五、包的引入
為了避免模組名衝突,python引入了按目錄來組織模組的方法,稱為包(package);引入了包以後,只要頂層的包名不與別人衝突,那所有模組都不會與別人衝突。
六、包和普通目錄的區別
每乙個包目錄下面都會有乙個__init__.py的檔案,這個檔案是必須存在的,否則,python就把這個目錄當成普通目錄(資料夾),而不是乙個包。init.py可以是空檔案,也可以有python**,因為__init__.py本身就是乙個模組,而它的模組名就是對應包的名字;呼叫包就是執行包下的__init__.py檔案
七、模組使用小技巧
if __name__=='__main__':
print('ok')
用處:除錯**的時候,在」ifname== 『main』「中加入一些我們的除錯**,我們可以讓外部模組呼叫的時候不執行我們的除錯**,但是如果我們想排查問題的時候,直接執行該模組檔案,除錯**能夠正常執行。 python 學習筆記(二十一)
coding utf8 author liwei windows平台多程序匯入multiprocessing模組 from multiprocessing import process,queue from multiprocessing import pool import os,time,ran...
二十一 Python協程
greenlet模組 協程 協程相對於執行緒與程序,協程可以控制,執行緒程序不受到人為的控制 greenlet 可以控制協程的執行與暫停,greenlet不具備自動切換程序的能力 gevent 當遇到阻塞,gevent會自動切換,使cpu利用率達到將近100 greenlet 使用 gr1 gree...
Python 二十一 LEGB規則
一 解釋 python在查詢 名稱 的時候,是按照legb規則查詢的,local enclosed global buitl in。local 指的是函式或者類方法的內部。enclosed 指的是巢狀函式 閉包 global 模組中的全域性變數。buitl in 指的是python為自己保留的特殊名...