Python基礎 模組和包介紹

2021-09-11 02:53:38 字數 1552 閱讀 2017

1.import 語句

import module1[, module2[,... moduln]

當我們使用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']  

因此若像我一樣在當前目錄下存在與要引入模組同名的檔案,就會把要引入的模組遮蔽掉, 所以在模組命名時一定不要與系統自帶的模組重名,不然當我們要匯入系統模組時會失效。

import  會尋找【執行檔案】的目錄下是否有對應模組,sys.path會將執行檔案的目錄新增到檢索路徑

2.from ...import 語句

from modname import name1[, name2[, ... namen]]

這個宣告不會把整個modulename模組匯入到當前的命名空間中,

只會將它裡面的name1或name2單個引入到執行這個宣告的模組的全域性符號表。

3.from ... import *

from modname import *

這提供了乙個簡單的方法來匯入乙個模組中的所有專案。然而這種宣告不該被過多地使用。大多數情況,python程式設計師不使用這種方法,

因為引入的其它**的命名,很可能覆蓋了已有的定義。

執行檔案下:___name__ = '__main__'

呼叫檔案(模組): ___name__ = 'web.web1.web2'(呼叫檔案、模組的路徑)

if __name__ == '__main__': #所放置在被呼叫檔案下:用於被呼叫檔案的測試

除錯**塊              # 放置在主檔案(執行檔案)下:則不希望被其他檔案呼叫

有句話經典的概括了這段**的意義:

「make a script both importable and executable」

意思就是說讓你寫的指令碼模組既可以匯入到別的模組中用,另外該模組自己也可執行

如果我們是直接執行某個.py檔案的時候,該檔案中那麼」__name__ == '__main__'「是true,但是我們如果從另外乙個.py檔案

通過import匯入該檔案的時候,這時__name__的值就是我們這個py檔案的名字而不是__main__。

這個功能還有乙個用處:除錯**的時候,在」if __name__ == '__main__'「中加入一些我們的除錯**,我們可以讓外部模組

呼叫的時候不執行我們的除錯**,但是如果我們想排查問題的時候,直接執行該模組檔案,除錯**能夠正常執行!

Python基礎 模組和包

python 模組 module 是乙個 python 檔案,以 py 結尾,包含了 python 物件定義和python語句。模組能定義函式,類和變數,模組裡也能包含可執行的 1.1.2.1 import 1.匯入模組 import 模組名 import 模組名1 模組名2.2.呼叫功能 模組名....

python基礎 模組和包

目錄 每乙個專案是由乙個或多個模組組成。每乙個以.py結尾的檔案 python源 都是乙個模組 工具包 模組 工具包 中定義的全域性變數,類,函式都是可以提供給呼叫函式使用的工具。模組可以根據功能來進行設計,使得可以更有邏輯的組織 段,以及更好的復用。在日常工作開發中每個人可以負責自己的模組,主程式...

Python基礎 模組和包

1.2.製作模組 1.3.模組定位順序 1.4.all 二.包 2.2 匯入包 2.2.2 方法二 python 模組 module 是乙個 python 檔案,以 py 結尾,包含了 python 物件定義和python語句。模組能定義函式,類和變數,模組裡也能包含可執行的 1.1.2.1 imp...