Python(6):模組和包__Python

來源:互聯網
上載者:User

===========================模組===========================
1.Python把py檔案叫做模組。


2.使用模組需要引入,例如:
import sys


3.匯入模組需要設定路徑。

>>> import sys>>> print(sys.path)['', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\Lib\\idlelib', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\python36.zip', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\DLLs', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\lib', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32', 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages']

sys.path是Python匯入模組時候搜尋的目錄。可以看出,包含了目前的目錄。
這個目前的目錄就是啟動程式的那個目錄。如果是使用shell。應該是shell的運行檔案的目錄。
如果要加入其它的目錄,可以通過append或者extend添加到sys.path裡面。


4.如果用命令列啟動Python程式,是可以傳入參數列表的。
argv是argument vector的縮寫。
參數列表儲存在sys.argv
我現在直接用內建的IDLE來測試的,本來想想Visual Studio一樣,可以設定命令列參數。
但是找不到,百度一下說沒有這項設定,命令列參數只是幾段文本,可以自己填
sys.argv =[sys.argv[0],'argument1','argument2','argument2']
調試好後整句加個#註解掉就ok。
通常情況,第一個參數是預設內建的,這個程式的絕對路徑。不需要自己去輸入。其他輸入都是從第二個位置開始的。
或者直接用cmd來啟動也可以


5.from xxx.xx.x import xxxx
可以直接使用模組內的函數,而不需要再這麼麻煩使用網域名稱。


===========================包===========================
包:
把相關聯的模組放在一起,可以通過引入包同時引入了包內的多個模組。
包下有__init__.py檔案,一看就知道這是包內部自己使用的。
這個檔案提示Python,這是個包目錄,而不是普通的目錄。指定了包內檔案的使用方式。
有些編輯器是會自動產生這個檔案的。我記得用sublime的時候好像是沒有產生的,後來運行了就會自動產生了。可能編譯器也會自動產生吧。
匯入包的時候,只計算__init__.py。如果這個檔案是空白的,是不能使用包內的模組的。還需要在這個檔案裡面寫匯入語句。


Python代碼編譯後,會產生對應的pyc檔案。應該是中間檔案。
sys.modules 可以看到已經載入的模組


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.