首頁 > 軟體

python中模組匯入模式詳解

2022-07-28 22:03:55

模組匯入

1.1 import匯入模組

  • 所謂的模組其實就是一個外部的工具包,其中存在的其實就是Python檔案,這些檔案都實現了某種特定的功能,我們匯入包之後直接使用即可,非常的方便。
  • 在開發中使用最多的就是使用: import 方式進行匯入。匯入的包一般放在檔案的最前面。
  • 語法格式 : import 模組名
# 匯入時間模組
import timr
# 使用時間模組中的方法
time.ctime()
  • 呼叫模組方法的語法格式: 模組名.函數名 ,這樣呼叫可以防止不同模組中有同名方法導致錯誤。

1.2 from 模組名 import 匯入模板的方法

  • 一個模組可能存在很多的函數,如果只是想匯入其中的幾個函數,可以使用from xxx import xxx 方式匯入。
  • 使用這種方式匯入之後不用在使用 模組名.函數名 的方式來呼叫函數,可以直接使用 函數名。但是一定要注意這種形式可能會產生覆蓋的情況,當匯入了兩個不同包中的同名的函數的時候,第二個函數會覆蓋第一個函數

舉例:只想匯入time模組中的ctime、time兩個方法,可以按照以下的格式匯入:

# 匯入模組中指定的方法
from time import ctime,time
# 呼叫方法
ctime()
time()

注意:使用from匯入,如果函數名相同,後面匯入的會覆蓋前面匯入的函數。

  • 可以一次性的把一個模組中的全部資料進行匯入。 語法格式: from xxx import *
from time import *

1.3 as 關鍵字

  • as關鍵字:給模組取別名,有時候匯入的模組的名稱很長,呼叫的時候很不方便,使用as關鍵字就可以給模組取一個其他的名字。
  • 當給模組起了別名之後以前模組的名字就會失效。
import time as myTime
# 使用別名呼叫函數,正確
myTime.ctime()
# 使用以前模組的名字呼叫,錯誤
time.ctime()

OS模組操作檔案

OS模組的作用

  • 對檔案進行重新命名、刪除等一些操作,在Python中可以利用os模組。 os模組提供了一些系統級別的操作命令

模組的製作、釋出、安裝

3.1 模組製作

  • Python檔案都可以作為一個模組,模組的名字就是檔案的名字。比如建立一個test.py檔案,檔案中建立一個add()函數。此時test.py檔案就是一個模組,可以在其他的python檔案中直接引入使用。
  • 一個模組中可以包含函數、類、變數,也能包含可執行的程式碼。
  • 不同的模組可以定義相同的變數名,但是每個模組中的變數名作用域只是在本模組中。

3.2 模組的分

內建:python已經存在的。

自定義:我們自己編寫的功能模組。

3.3 範例

  • 定義一個相加的功能模組 (addUp.python 檔案)
# 定義一個執行相加的功能模組
def add(x, y):
    return x + y
  • 在其他檔案中引入並使用這個相加的功能模組
# 引入相加的功能模組(給模組起別名) 引入整個模組
import addUp as add
# 使用引入模組中的函數 (模組名.方法名)
print(add.add(1, 2))
# 3
# 直接引入模組中的指定函數
from addUp import add
# 使用引入模組中的函數 (函數名)
print(add(1, 2))
# 3
# 匯入模組中的所有函數
from addUp import * 
# 使用引入模組中的函數
print(add(1, 2))
# 3

3.4 測試方法

重點:在功能模組中對模組進行測試的時候,需要使用如下的格式

# 定義一個執行相加的功能模組
def add(x, y):
    return x + y
# 測試該模組中的功能。使用這種形式測試就不會發生其他檔案在使用這個功能模組的時候輸出這個測試結果
# 是因為此時被這個 if 條件進行了控制
if __name__ == '__main__':
    # 測試功能模組中的函數
    res = add(1, 3)
    print('測試模組中的add函數的結果:%s' % res)
    # 測試模組中的add函數的結果:4
    pass

3.5 all魔術方法

  • 指定對外暴露的功能函數。
# all 魔術方法可以儲存讓其暴露在外的函數們,將一些函數不對外暴露
# 注意:只有當呼叫者使用的是 from addUp import * 這種形式的時候all魔術方法才會生效
#      如果使用 from addUp import multiply ,add ,subtract 方式,all也不會生效
#      如果是使用 import 模組名 的形式這個 all 不會生效,這個模組中的所有方法還是全部可以暴露的。
# 總結:all魔術方法只會對 from addUp import * 這種格式的匯入生效
__all__ = ['add', 'subtract']
def add(x, y):
    return x + y
def subtract(x, y):
    return x - y
def multiply(x, y):
    return x * y
# 測試該模組中的功能
if __name__ == '__main__':
    # 測試功能模組中的函數
    res = add(1, 3)
    print('測試模組中的add函數的結果:%s' % res)
    # 測試模組中的add函數的結果:4
    pass

以上就是python中模組匯入模式詳解的詳細內容,更多關於python模組匯入模式的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com