Python自定義模塊的創建與使用_第1頁
Python自定義模塊的創建與使用_第2頁
Python自定義模塊的創建與使用_第3頁
Python自定義模塊的創建與使用_第4頁
Python自定義模塊的創建與使用_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第Python自定義模塊的創建與使用目錄一、前言二、模塊的概述三、自定義模塊1.創建模塊2.使用import語句導入模塊3.使用fromimport語句導入模塊附:python打包用戶自定義模塊總結

一、前言

在Python提供了強大的模塊支持,主要體現為不僅在Python標準庫中包含了大量的模塊(稱為標準模塊),而且還有很多第三方模塊,另外開發者自己也可以開發自定義模塊。通過這些強大的模塊支持,將極大地提高我們的開發效率。

二、模塊的概述

模塊的英文是Module,可以認為是一盒(箱)主題積木,通過它可以拼出某一主題的東西。這與函數不同,一個函數相當于一塊積木,而一個模塊包括很多函數,也就是很多積木,所以也可以說模塊相當于一盒積木。

在Python中,一個擴展名為.py的文件就稱之為一個模塊。通常情況下,我們把能夠實現某一特定功能的代碼放置在一個文件中作為一個模塊,從而方便其他程序和腳本導入并使用。另外,使用模塊也可以避免函數名和變量名沖突。

我們知道對于Python代碼可以寫在一個文件中,但是隨著程序不斷變大,為了維護,需要將其分為多個文件,這樣可以提高代碼的可維護性,使用模塊還可以提高代碼的可重用性。即編寫好一個模塊后,只要是實現該功能的程序,都可以導入這個模塊來實現。

三、自定義模塊

在Python中,自定義模塊有兩個作用,一個是規范代碼,讓代碼更容易閱讀,另外一個是方便其他程序使用已編好的代碼,提高開發效率。要實現自定義模塊主要分為兩部分,一部分是創建模塊,另一部分是導入模塊。

1.創建模塊

創建模塊可以將模塊中相關的代碼(變量定義和函數定義等)編寫在一個單獨的文件中,并且將該文件命名為模塊名+.py的形式,也就是說,創建模塊,實際就是創建一個.py文件。

注意:

創建模塊時,設置的模塊名盡量不要與Python自帶的標準模塊名稱相同模塊文件的擴展名必須是.py

2.使用import語句導入模塊

創建模塊后,就可以在其他程序中使用該模塊了。要使用該模塊需要先以模塊的形式加載模塊中的代碼,這可以使用import語句實現。import語句的基本語法格式如下:

importmodulename[asalias]

參數說明:

modulename:要導入模塊的名稱[asalias]:為模塊起的別名

例如,導入一個名稱為test的模塊,并執行該模塊中的getInfo()函數,代碼如下:

importtest#導入test模塊

test.getInfo()#執行模塊中的getInfo()函數

可以使用關鍵字as將導入模塊起個別名,代碼如下:

importtestasm#導入test模塊,并將test別名為m

m.getInfo()#執行模塊中的getInfo()函數

使用import一次可以導入多個模塊,在導入多個模塊時,模塊與模塊之間用逗號,隔開。例如,同時導入test.py、data.py、tips.py3個模塊文件,代碼如下:

importtest,data,tips

雖然一次可以導入多個模塊,但不建議大家使用這種方法。

3.使用fromimport語句導入模塊

在使用import語句導入模塊時,每一次執行import語句都會創建一個新的命名空間(namespace),并且在命名空間中執行與.py文件相關的所有語句。在執行時,需要在具體的變量、函數和類名前加上模塊名.前綴。如果不想在每次導入模塊時都創建一個新的命名空間,而是將具體的定義導入當前的命名空間中,這時可以使用fromimport語句。使用fromimport語句導入模塊后,不需要再添加前綴,直接通過具體的變量、函數和類名等訪問即可。

fromimport語句的語法格式如下:

frommodelnameimportmember

參數說明:

modelname:模塊名稱,區分字母大小寫,需要和定義模塊時設置的模塊名稱的大小寫保持一致。member:用于指定要導入的變量、函數或者類等。可以同時導入多個定義,各個定義之間用逗號,隔開。如果想導入全部定義,也可以使用通配符星號*代替。

例如,通過下面3條語句都可以從模塊導入指定的定義:

fromtestimportgetInfo#導入test模塊的getInfo()函數

fromtestimportgetInfo,showInfo#導入test模塊的getInfo()和showInfo()函數

fromtestimport*#導入test模塊的全部定義(包括變量和函數)

注意:

在使用fromimport語句導入模塊中定義時,需要保證所有導入的內容在當前的命名空間中是唯一的,否則將出現沖突,后導入的同名變量、函數或者類會覆蓋先導入的。這時就需要使用import語句進行導入了。

附:python打包用戶自定義模塊

假設需要打包的模塊文件名為my.py,打包模塊需要新建的一個腳本setip.py,然后在腳本下輸入如下的內容:

from

disutils.core

import

setup

setup{name

=

'my',version

=

'1.0',py_modules

=

['my']}

以管理員身份運行cmd,進入my.py的目錄,執行下面的命令即可打包:

python

setup.py

sdist

運行后在該目錄下方出現一個文件夾dist,進入這個文件夾,會出現一個my-1.0.zip文件。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論