您好,登錄后才能下訂單哦!
這篇文章主要介紹了python的模塊和包如何導入的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇python的模塊和包如何導入文章都會有所收獲,下面我們一起來看看吧。
在Python中一個py文件就是一個模塊,要想創建模塊,實際上就是創建一個python文件
注意:模塊名要符號標識符的規范
在一個模塊中引入外部模塊
① import 模塊名 (模塊名,就是python文件的名字,注意不要py)
② import 模塊名 as 模塊別名
可以引入同一個模塊多次,但是模塊的實例只會創建一個
import可以在程序的任意位置調用,但是一般情況下,import語句都會統一寫在程序的開頭
在每一個模塊內部都有一個__ name __ 屬性,通過這個屬性可以獲取到模塊的名字
__ name __ 屬性值為 __ main __ 的模塊是主模塊,一個程序中只會有一個主模塊,主模塊就是我們直接通過 python 執行的模塊,執行哪一個文件,哪一個文件就是主模塊。
import test_module as test print(test.__name__) print(__name__)
# import m # 訪問模塊中的變量:模塊名.變量名 # 也可以只引入模塊中的部分內容,這樣就可以直接使用變量名,而不需要使用模塊名來訪問變量 # 語法 from 模塊名 import 變量,變量.... # from m import * # 引入到模塊中所有內容,一般不會使用 # 也可以為引入的變量使用別名,這樣可以避免有多個模塊有相同的變量名造成沖突。 # 語法:from 模塊名 import 變量 as 別名
使用下劃線 _屬性名,當通過 from m import * 引入所有變量時,不會將帶有下劃線的變量引入。
注意的是,通過 import m 導入模塊時,仍然可以通過 m._屬性名 來訪問
當引入其他模塊時,其他模塊里面可能會有一些可執行代碼,這樣在導入時會執行這些模塊里的代碼,我們想讓這些代碼只有在該模塊作為主模塊時才執行
# 在模塊的可執行代碼前面添加語句 # 編寫測試代碼,這部分代碼,只要當當前文件作為主模塊的時候才需要執行 # 而當模塊被其他模塊引入時,不需要執行的,此時我們就必須要檢查當前模塊是否是主模塊 if __name__ == '__main__': pass
包也是一個模塊,當我們模塊中代碼過多時,或者一個模塊需要被分解為多個模塊時,這時就需要使用到包
普通的模塊就是一個py文件,而包是一個文件夾 包中必須要一個一個 __ init __.py 這個文件,這個文件中可以包含有包中的主要內容
# 我們可以在包里面的__init__.py文件中定義變量或者函數,然后將包作為模塊導入,這樣就可以訪問到這些變量 import package_name # 包里面可以包含其他模塊,使用模塊里面的變量時,必須使用全路徑名:package_name.module_name.屬性名 import package_name.module_name # 通過這種方式導入時,只需要寫模塊名就可以,不需要包名 from package_name import module_name
__ pycache __ 是模塊的緩存文件,在編譯后會在包下面有一個緩存文件
py代碼在執行前,需要被解析器先轉換為機器碼,然后再執行,所以我們在使用模塊(包)時,也需要將模塊的代碼先轉換為機器碼然后再交由計算機執行,而為了提高程序運行的性能,python會在編譯過一次以后,將代碼保存到一個緩存文件中,這樣在下次加載這個模塊(包)時,就可以不再重新編譯而是直接加載緩存中編譯好的代碼即可
import sys import pprint # 獲取執行代碼時,命令行中所包含的參數,該屬性是一個列表,列表中保存了當前命令的所有參數 sys.argv print(sys.argv) # 獲取當前程序中引入的所有模塊,modules是一個字典,字典的key是模塊的名字,字典的value是模塊對象 sys.modules #pprint 模塊它給我們提供了一個方法 pprint() 該方法可以用來對打印的數據做簡單的格式化 pprint.pprint(sys.modules) #他是一個列表,列表中保存的是模塊的搜索路徑 sys.path # 函數用來退出程序 sys.exit() sys.exit('程序出現異常,結束!')
from sys import path # 導入sys模塊下的path變量,這是一個list,添加模塊的搜索路徑 path.append(r"E:\\") 導入模塊中的變量 from test0 import k print(k)
關于“python的模塊和包如何導入”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“python的模塊和包如何導入”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。