1.import 模塊名
2.from 模塊名 import 類名(或方法名或全局變量)
3.from 模塊名 import * 導入模塊名下的所有類名,方法,全局變量
4.from 模塊名 import 類名(或方法名或全局變量) as 別名 原來的名稱太長,給它起個別名
5.定位模塊:
當你導入一個模塊,Python解析器對模塊位置的搜索順序是:
- 當前目錄
- 如果不在當前目錄,Python則搜索在shell變量PYTHONPATH下的每個目錄。
- 如果都找不到,Python會察看默認路徑。UNIX下,默認路徑一般為/usr/local/lib/python/
- 模塊搜索路徑存儲在system模塊的sys.path變量中。變量里包含當前目錄,PYTHONPATH和由安裝過程決定的默認目錄。
6.自定義模塊方法一
(1)首先認識一個變量 __name__
__name__這個系統變量顯示了當前模塊執行過程中的名稱,如果當前程序運行在這個模塊中,__name__ 的名稱就是__main__如果不是,則為這個模塊的名稱。
__main__一般作為函數的入口,類似於C語言,尤其在大型工程中,常常有if __name__ == "__main__":來表明整個工程開始運行的入口。
使用這個變量的結果可以判斷是直接執行的python腳本還是被引入執行的,從而能夠有選擇性的執行測試代碼
例子:
# 加法運算 def my_sum(a,b): return a+b # 1.開發完成之后需要自測 # 1.1一般需要創建一個函數 來完成自測 def main(): # 定義一個變量 ret=my_sum(10,20) print(ret) # 書寫格式一般都會這么些(開發常用於測試或者作為程序的入口) # 默認情況下,在本模塊內執行這個模塊,當前的這個python的變量__name__的值為__main__ if __name__ == '__main__': main()
7.自定義模塊方法二:
(1)使用__all__,只有使用from xxx import * 的時候__all__才能產生作用。如果在一個模塊中,定義了很多的類,方法,全局變量,如果使用from xxx import * 的方法使用該模塊,而又不想讓使用模塊中的某些類,方法或者全局變量,那么就需要在該模塊里寫上__all__=[],在列表里寫上允許導入的類,方法,全局變量,如果不在這個列表里注冊,就不能使用該類,方法或者全局變量了。
__all__=["name","sum","Student"]
==================================
python中的包
(1)python中的包會有一個__init__.py模塊。在python3.x沒有__init__.py也可以正常使用,但是在python2.x中必須有__init__.py
(2)在包中的__init__.py中定義all=[在這里面添加你想要導入的模塊名]
(3)同理在每個模塊下__all__=[]添加你允許導入的類名,方法名,全局變量
(4)使用from 包名.模塊名 import * 導入模塊(1)(2)(3)才能生效
其他導入方法:import 包名.模塊名