1. 程式人生 > >Python基礎---模組和包

Python基礎---模組和包

模組
概念:     模組和java中的包概念類似
匯入:     關鍵字  import    import 模組名...
部分匯入:   關鍵字 from    from 模組名 import 函式名1,函式名2....
呼叫:     模組名.函式名
自定義模組:
    每個Python檔案都可以作為一個模組,模組名就是檔名
    例如:
        檔案test.py,在test.py中定義了函式add
            匯入:import test或者 from test import add 
            呼叫:result = test.add(11,22)

      測試模組:在自定義模組中添加了一些測試程式碼
           目前問題:呼叫模組,測試程式碼也執行    
           理想效果:模組測試程式碼不執行
           解決方法:加入  __name__ 變數
                      if __name__=='main':
                               測試程式碼

def add(a,b):
	return a+b
#測試資訊
if __name__=='main':
	ret = add(12,22)
	print('int test.py file,,,,12+22=%d'% ret)
import test
c=test.add(6,7)
print(c)

包:把很多模組組織起來
作用:有效避免模組名稱衝突問題,使組織結構更加清晰
包和模組區別:__init__.py只要存在,就表明此目錄應被作為一個package處理
理解:資源管理器,目錄樹等一樣
包的匯入:利用 from...import
        from 頂層包.次頂層包...子包 import 函式名
        from 頂層包.次頂層包 import 子包
注意:
        1.目錄結構中可以發現很多的 __init__.py 檔案===初始化模組
        2.有的__init__.py中是空白,有的卻會有__all__引數。
              __init__.py是空白,可以直接import到moudle的所有函式
              __init__.py中定義了__all__,則import只會匯入__all__部分定義的內容

     __all__介紹:
             __all__該變數包含執行這樣的語句時應該匯入的模組的名字
             __all__ :一個字串列表,列表元素就是模組名
                  例如:  __all__ = ['module_13', 'module_12']

模組釋出:暫時不整理