日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python中模塊導入模式詳解_python

作者:Java學術趴 ? 更新時間: 2022-09-21 編程語言

模塊導入

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

原文鏈接:https://cloud.tencent.com/developer/article/2049099

欄目分類
最近更新