欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python自定義模塊的創(chuàng)建與使用

 更新時間:2022年05月05日 10:26:31   作者:不認輸?shù)男〔穗u  
這篇文章主要給大家介紹了關于Python自定義模塊創(chuàng)建與使用的相關資料,文中還給大家分享了python打包用戶自定義模塊的方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

一、前言

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

二、模塊的概述

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

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

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

三、自定義模塊

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

1.創(chuàng)建模塊

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

注意:

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

2.使用import語句導入模塊

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

import modulename [as alias]

參數(shù)說明:

  • modulename:要導入模塊的名稱
  • [as alias]:為模塊起的別名

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

import test    # 導入test模塊
test.getInfo() # 執(zhí)行模塊中的getInfo()函數(shù)

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

import test as m  # 導入test模塊,并將test別名為m
m.getInfo() # 執(zhí)行模塊中的getInfo()函數(shù)

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

import test,data,tips

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

3.使用from…import語句導入模塊

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

from…import語句的語法格式如下:

from modelname import member

參數(shù)說明:

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

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

from test import getInfo          # 導入test模塊的getInfo()函數(shù)
from test import getInfo,showInfo # 導入test模塊的getInfo()和showInfo()函數(shù)
from test import *                # 導入test模塊的全部定義(包括變量和函數(shù))

注意:

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

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

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

from?disutils.core?import?setup
setup{name?=?'my',version?=?'1.0',py_modules?=?['my']}

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

python?setup.py?sdist

運行后在該目錄下方出現(xiàn)一個文件夾dist,進入這個文件夾,會出現(xiàn)一個my-1.0.zip文件。
將該壓縮包放在sys.path的目錄下,解壓,以管理員身份運行cmd,進入解壓的目錄,執(zhí)行下方的命令即可自動安裝my模塊。

python?setup.py?install

完成安裝后,即可加載my模塊:

import?my

總結

到此這篇關于Python自定義模塊創(chuàng)建與使用的文章就介紹到這了,更多相關Python自定義模塊內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 元組列表字典(莫煩python基礎)

    元組列表字典(莫煩python基礎)

    這篇文章主要介紹了python元組列表字典,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • Python中sys.argv用法圖文詳解

    Python中sys.argv用法圖文詳解

    很多剛剛接觸python的人來說,對于python中sys.argv[]往往不是很明白,下面這篇文章主要給大家介紹了關于Python中sys.argv用法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • Python中的全局變量如何理解

    Python中的全局變量如何理解

    在本篇文章里小編給大家整理的是關于Python中全局變量詳解內容,需要的朋友們可以參考下。
    2020-06-06
  • Python文件遍歷os.walk()與os.listdir()使用及說明

    Python文件遍歷os.walk()與os.listdir()使用及說明

    這篇文章主要介紹了Python文件遍歷os.walk()與os.listdir()使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 使用Python實現(xiàn)3D曲線擬合

    使用Python實現(xiàn)3D曲線擬合

    曲線擬合是數(shù)據分析和數(shù)學建模領域中廣泛使用的技術,它涉及到尋找最接近一組數(shù)據點的數(shù)學函數(shù)的過程,本文我們將討論如何使用SciPy庫在Python中執(zhí)行3D曲線擬合,感興趣的小伙伴可以了解下
    2023-11-11
  • Python中獲取網頁狀態(tài)碼的兩個方法

    Python中獲取網頁狀態(tài)碼的兩個方法

    這篇文章主要介紹了Python中獲取網頁狀態(tài)碼的兩個方法,分別使用urllib模塊和requests模塊實現(xiàn),需要的朋友可以參考下
    2014-11-11
  • 使用python制作一個簡單的井字棋游戲

    使用python制作一個簡單的井字棋游戲

    井字棋(Tic-Tac-Toe)是一種經典的兩人棋盤游戲,通常由兩名玩家輪流下棋,目標是在一個3x3的棋盤上先形成橫向、縱向或對角線的三個棋子,本文將介紹如何使用 Python 制作一個簡單的井字棋游戲、包括游戲規(guī)則、界面設計和實現(xiàn)代碼,需要的朋友可以參考下
    2023-11-11
  • python實現(xiàn)證件照換底功能

    python實現(xiàn)證件照換底功能

    這篇文章主要為大家詳細介紹了python實現(xiàn)證件照換底功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • 成功解決ValueError:?Supported?target?types?are:('binary',?'multiclass').?Got?'continuous'?instead.

    成功解決ValueError:?Supported?target?types?are:('binary

    本文給大家分享成功解決ValueError:?Supported?target?types?are:('binary',?'multiclass').?Got?'continuous'?instead.的錯誤問題,需要的朋友可以參考下
    2023-03-03
  • python 淘寶爬蟲小實例

    python 淘寶爬蟲小實例

    雙十一即將到來,電商都在做活動打折,但打完折是不是真的優(yōu)惠了,需要我們自己斟酌,畢竟我們不能一直關注著價格,也自然不能知道現(xiàn)在的價格比以前高了還是低了,今天讓我們用Python來爬取一下淘寶吧
    2021-11-11

最新評論