1. 程式人生 > 其它 >Python語言關於包的編寫和編譯

Python語言關於包的編寫和編譯

Python語言關於包的編寫和編譯

1 什麼是“模組”?

​ 要想了解Python關於包的編寫和編譯,首先我們就得了解什麼是模組。在百度百科中,“模組”一般是指任何能被裝入記憶體中執行的可執行程式碼和資料的集合,直白地說,就像是一盒主題積木,通過它可以拼湊出某一主題的東西,它與函式不同,一個函式相當於一塊積木,而一個模組中可以包括很多函式,也就是說一個模組中可以由很多的函式共同構成。

2 Python的模組分類

Python提供了強大的模組支援,Python的模組主要可分為三大類:

  • 標準模組
    標準模組是Python自帶的,在其標準庫中。
  • 第三方模組
    第三方模組是一些已經由別人弄好的模組,例如數值計算包裡就有很多模組,第三方模組需要下載後才能使用。
  • 自定義模組
    自定義模組就是使用者根據自己的需要自己編寫定義的模組。

3 如何自定義模組?

自定義模組主要可分為兩個部分:一部分是建立模組,一部分是匯入模組及如何呼叫模組。

3.1 建立模組

在建立模組的時候,我們應當將模組中的相關程式碼編寫在一個單獨的檔案中,在命名時應將檔案命名為“模組名+.py”的形式。在這裡需要注意的是,定義的模組名稱不能與Python自帶的標準庫的名字相同。

在這裡以一個計算bmi指數的模組編寫為例,程式碼如下:

def fun_bmi(person,height,weight):
    '''功能:根據身高和體重計算BMI指數
            person:姓名
            heght:身高,單位:米
            weight:體重,單位:千克
    '''
print(person+"的身高:"+str(height)+"米 \t 體重:"+str(weight)+"千克") bmi = weight/(height*height) #用於計算BMI指數,公式為:BMI=體重/身高的平方 print(person+"的BMI指數為:"+str(bmi)) #輸出BMI指數 # 判斷身材是否合理 if bmi< 18.5 : print("您的體重過輕[email protected]
[email protected]~\n"
) if bmi>=18.5 and bmi<24.9: print("正常範圍,注意保持(-_-)\n") if bmi>=24.9 and bmi<29.9: print("您的體重過重[email protected][email protected]~\n") if bmi>=29.9: print("肥胖^@[email protected]^\n")

儲存該模組為“bmi.py”檔案。

3.2 匯入模組

匯入模組的方式主要有兩種,一種是使用import語句匯入模組,一種是使用from…import語句匯入模組,以下分別以簡單的例子進行介紹。

3.2.1 使用import語句匯入模組

import語句匯入模組的基本語法為:

import modulename [as alias]
#import 模組名 [as 想設定的簡稱]

這裡以剛才建立好的bmi模組的匯入為例:

在剛才建立好的"bmi.py"同級目錄下建立一個名為"main.py"的檔案,將"bmi.py"模組匯入該檔案中,並執行該模組中的fun_bmi()函式,具體的程式碼如下:

import bmi
bmi.fun_bmi("尹一伊",1.75,120)

執行結果如下:
在這裡插入圖片描述

3.2.2 使用from…import語句匯入模組

使用from…import語句匯入模組的基本語法為:

from modulname import member
#from 模組名 import 成員 

modulname代表模組名,member用於指定要匯入的變數、函式或者類。

這裡通樣以剛才建立好的bmi模組的匯入為例:

from bmi import fun_bmi
fun_bmi("周大春",1.55,49)

執行結果:
在這裡插入圖片描述

4 Python中包的建立與呼叫

在python裡,包的概念的提出是為了解決使用模組時函式名和變數名重名的問題。包是一個分層次的目錄結構,它的功能是將一組功能相似的模組組織在一起。接下來將介紹如何建立包和使用包。

4.1 建立包

建立包的過程其實就是建立一個資料夾,並且在該資料夾下建立一個名為"–init–.py"的python檔案,這是一個模組檔案,模組名為對應的包名。在"–init–"檔案中,可以不編寫任何的程式碼,也可以根據自己的需要寫程式碼。接下來將介紹如何建立一個包。

第一步:在電腦上建立一個資料夾,我在自己電腦的PythonProject資料夾下建立了一個名為"settings"的資料夾,在其內部又繼續建立了一個同名資料夾。

第二步:在"settings"資料夾下建立"–init–.py"檔案,檔案中不寫任何內容。

到這裡,我們就已經建立好了一個名為"settings"的包,接下來只需在與"–init–.py"同級的目錄下建立需要的模組即可。

以下是我在"settings"包中所建立的模組:
在這裡插入圖片描述
其中,"bmi.py"模組的程式碼如前面所示,"size.py"模組的程式碼如下:

width = 800    #寬度
height = 600    #高度

4.2 如何使用建立好的包

使用包,其實也就是使用包中建立好的模組,這裡主要有三種方法:

  • 通過"import+完整包名+模組名"載入指定模組

以這種方式匯入包後,在使用時需使用完整的名稱。

示例:

建立一個"main.py"檔案,具體內容如下:

import settings.size    #匯入settings包下的size模組
if __name__=='__main__':
    print('寬度',settings.size.width)
    print('高度',settings.size.height)

執行結果:
在這裡插入圖片描述

  • 通過"from+完整包名+import+模組名"載入指定模組

通過該方式匯入包後,在使用時可不用帶包的字首,具體如下:

from settings import size    #匯入settings下的size模組
if __name__=='__main__':
    print('寬度',size.width)
    print('高度',size.height)

執行結果:
在這裡插入圖片描述

  • 通過"from+完整包名+模組名+import+定義名"載入模組

以這種方式載入模組後,直接使用函式、變數即可。

示例:

from settings.size import width,height    #匯入settings下的size模組
if __name__=='__main__':
    print('寬度',width)
    print('高度',height)

執行結果:
在這裡插入圖片描述
至此,python自定義包的編寫和編譯使用介紹完畢。