1、首先要知道什麼是模組:簡單的來說呢就是以.py結尾的python檔案,根據我的理解,任何這樣的檔案你都可以當成乙個模組。
2、使用模組的優點:
a、**重用。
b、系統命名空間的劃分。
c、實現共享服務和資料。
3、標準庫模組和第三方庫:
這乙個知識點相當重要,因為python自帶了大約兩百個模組,包裹gui構建、作業系統介面等,具體我們可以查閱python標註庫參考手冊。
然後就是浩瀚的、功能多樣的、使用方便的python的第三方庫,這幾乎是python最大的優點之一,其包含了從資料分析、人工智慧、爬蟲、gui等等各個方面的第三方庫,是python如此流行的原因之一,因此當你想要用實現某個功能時,切記找一下是否有現成的第三方庫,這將會讓你省去很多時間。
4、如何匯入乙個模組?
通常來說有兩種方式,一是import+模組名,import會讀取整個模組,另一種方式時from+模組名+import+要讀取的屬性,其原理是把變數名複製到另乙個作用域,所以我們在指令碼中就可以直接使用變數名,不需要使用模組,下面舉例介紹:
首先我們在乙個名為a.py的python檔案輸入如下**:
print(x)
a檔案的**是建立乙個函式,並傳入變數,最後列印出來。如果我們想在b檔案使用這個功能,即傳入變數並列印出來,但是不想再寫一遍**,該怎麼辦呢?這時候模組的作用就出來了。
我們在名為b.py的檔案可以這麼寫:
import a #匯入a模組(檔案)
在解釋這段**前,我們先介紹乙個非常重要的概念,即object.attribute(點號運算),翻譯過來便是物件.屬性。
第二種匯入模組的方式是使用from語句。我們在乙個名為c.py的檔案中輸入如下**:
5、單元測試,即_name與main_,注意,這個語法十分十分常用,再 強調 也不為過 ,同學們牢記。下面舉例說明。
我們在乙個名為d.py的檔案輸入如下**:
def orange()
print(「marry chrismas")
if _name_=='_main_':
orange()
一般情況下,我們要實現乙個功能,只需前兩行**就夠了,為什麼還寫了後兩行**呢?這就是所謂的單元測試。
試想一下,如果這個檔案是乙個十分**的檔案,**足足有500行,你肯定會試著執行一下程式,看程式是否報錯對吧。
所以當這個檔案作為乙個程式執行時,name_的值就是_main,此時執行orange函式,測試指令碼是否可以執行。
而當檔案作為模組被匯入時,name_則為檔案的名字,不等於_main,此時orange函式不會執行,檔案就會作為乙個模組被匯入。
在這裡我總結了一句話,同學們牢記:
作為程式執行時,name=main,後續**執行
作為模組匯入時,name≠main,後續**不執行。
6、模組搜素路徑
相信有心 同學 奇怪 ,在匯入模組時為什麼沒有給出檔案具體的路徑,那麼python如何 知道 檔案在哪呢?這就跟python特殊的模組搜尋路徑有關 了 。
首先,python有四個 搜尋 路徑 ,即:
a、程式的主目錄
b、pythonpath目錄(需設定)
c、標準鏈結庫目錄
d、任何.pth 檔案 內容
那麼 如何 檢視我們的搜尋目錄呢?可以使用如下**:
感謝閱讀!!!
python學習(模組)
模組搜尋路徑 匯入乙個叫 spam 的模組時,直譯器先在當前目錄中搜尋名為 spam.py 的檔案,然後在環境變數 pythonpath 指琮的目錄列表中搜尋,然後是環境變數 path 中的路徑列表。如果 pythonpath 沒有設定,或者檔案沒有找到,接下來搜尋安裝目錄,在 unix 中,通常是...
python 模組學習
一 from django.contrib.auth.hashers import make password 通過函式名即可發現,主要有兩個函式,分別是建立密碼和驗證 用法ps 123456 dj ps make password ps,none,pbkdf2 sha256 建立django密碼,...
python學習 模組
time import time time.ctime 獲取當前時間的字串 time.localtime 返回值是strcut time型別的物件 st time.localtime st.tm yday 現在是今年第幾天 st.tm hour 現在是今天第幾個小時 st.tm mon 現在是今年的...