Python3中的模組

覆手為雲p發表於2017-06-22

 

    模組使用哪種語言實現並不重要,因為所有的模組匯入與使用的方式都相同。

1、常用模組匯入格式:

1 import importable1,importable2,...
2 import importable as preferred_name   #將匯入的模組自定義名稱。如果模組是一個包或包中的一個模組,則需將每一部分用"."進行分隔。
3 from importable import *   #將包內的所有內容都匯入
4 from importable import object1,object2,...
5 from importable import object as preferred_name

  from格式有可能導致名稱衝突,用from引入大量物件可以使用多行完成或對每個新行進行轉義處理。例:用from os.path import dirname,就可以直接呼叫dirname函式,而不需要每次都從path.dirname()進行呼叫,但一旦dirname這個變數被自定義的名字使用,那麼dirname就是你自定義的內容,而不是那個呼叫的函式了,這就是所說的名稱衝突。

2、包

     包就是一個目錄,其中包含一組模組和一個_init_.py檔案。

       from package import * 將引入包中的所有模組,因為包中的_init_.py中含有一個包含所有模組名的_all_特殊變數,如果模組名沒有在_all_中,就不能被*格式引入。同樣用此*格式也可一起引入一個模組中的所有函式。

3、自定義模組主要結構:第一行是shebang行,接著是一些註釋,接著通常是三引號包含的字串,其中提供了模組內容的概覽,通常也包括一些使用例項,這也是該模組的docstring;然後是函式的主體。一般模組結尾都有這三行:

       if _name_="_main_":
              import doctest
              doctest.testmod()

相關文章