Python 模組學習

來源:互聯網
上載者:User

標籤:python   python模組   python基礎   

可以將代碼量較大的程式分割成多個有組織的、彼此獨立但又能互相互動的程式碼片段,這些自我包含的有組織的程式碼片段就是模組


模組表現形式為以.py結尾的代碼檔案


一個檔案被看作一個獨立的模組,一個模組也可以被看作是一個檔案。


模組的檔案名稱就是模組的名字加上副檔名.py


每個模組都有自己的名稱空間


Python程式架構

一個python程式通常包括一個頂層程式檔案和其他的模組檔案(0個,1個或多個)

頂層檔案:包含了程式的主要控制流程程

模組檔案:為頂層檔案或其他模組提供各種功能性組件

模組首次匯入(或重載)時,Python會立即執行模組檔案的頂層程式碼,聲明函數對象,而位於函數體內的代碼直到函數被調用後才會執行。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/70/E9/wKiom1XBRJGz2Zm6AAD7hBgGV_4239.jpg" title="QQ20150730001634.png" alt="wKiom1XBRJGz2Zm6AAD7hBgGV_4239.jpg" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/70/E5/wKioL1XBS6XywYG0AAD7hBgGV_4584.jpg" title="QQ20150730001634.png" alt="wKioL1XBS6XywYG0AAD7hBgGV_4584.jpg" />

模組的執行環境

模組是被匯入的,但模組也可以匯入和使用其他模組,這些模組可以用Python或其他程式設計語言寫成


模組可內含變數、函數以及類來進行其工作,而函數和類可以包含變數和其他元素


如果打算以多個程式檔案來組織你的Python程式,只有一個檔案可以作為頂層執行檔案,可以在頂層包含很多程式控制流程,其他被匯入的檔案,都應該只包含類、變數、函數。

650) this.width=650;" title="QQ20150730001634.png" src="http://s3.51cto.com/wyfs02/M01/70/DD/wKioL1XANOjBCO4UAAEWFR8HTPE275.jpg" alt="wKioL1XANOjBCO4UAAEWFR8HTPE275.jpg" />

匯入模組

在匯入模組時只能使用模組名,而不是帶.py尾碼的模組檔案名稱。

匯入指定模組,會產生一個以模組名命名的名稱空間。


impor語句匯入模組:

import module

匯入時可以給名稱空間指定一個別名,如果使用別名,就只能使用別名調用了。

import module as module_alias

from-import 語句:

常用於只匯入指定模組的部分屬性至當前名稱空間

from module import name1[,name2,...]

650) this.width=650;" title="P5BSUJ1GQO]I)T`WGO0Z`IW.png " src="http://s3.51cto.com/wyfs02/M01/70/E0/wKiom1XAMwLxC7LxAAHbida73BI794.jpg" alt="wKiom1XAMwLxC7LxAAHbida73BI794.jpg" />

import 和 from 都是隱性指派陳述式

import將整個模組對象賦值給一個變數名

from將一個或多個變數名賦值給匯入此模組的模組中的同名對象,如果匯入的變數和本地變數重名,則會覆蓋本地的。

import的工作機制


1、尋找模組檔案,2、編譯成位元組碼,3、執行模組的代碼來建立其所定義的對象。注意:模組只有在第一次匯入時才會執行如上步驟; 

後續的匯入操作只不過是提取記憶體中已載入的模組對象,reload()可用於重新載入模組;


模組搜尋

Python解譯器在import模組時必須先找到對應的模組檔案

程式的主目錄

Python path目錄

標準連結庫目錄

任何.pth檔案的內容

這四個組件組合起來即為sys.path所包含的路徑,而Python會選擇在搜尋路徑中的第一個符合匯入檔案名稱的檔案。

import sys

sys.path


sys.path.append(‘/tmp/python3/lib‘) 修改sys.path,添加python庫的搜尋路徑。


添加模組檔案的測試代碼











本文出自 “突破舒適區” 部落格,轉載請與作者聯絡!

Python 模組學習

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.