您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python包和模塊的知識點有哪些”,在日常操作中,相信很多人在Python包和模塊的知識點有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python包和模塊的知識點有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
0、一個模塊(module)就是一個py文件,模塊的名字就是該文件的名字(不包含后綴)
1、一個 包(package)就是一個文件夾,(Python2規定該文件夾必須包含一個 __init__.py
,Python3沒有要求),包名就是文件夾名。
2、按 import 進來的對象不同分為4種場景:
1. import <package> # 導入一個包
2. import <module> # 導入一個模塊
3. from <package> import <module or subpackage or object> # 從一個包中導入模塊/子包/對象
4. from <module> import <object> # 從模塊中導入對象
3、解釋器會按照sys.path
列表的順序來查找被引入的包或模塊名字。
>>> import sys
>>> import pprint
>>> pprint.pprint(sys.path)
['',
'C:\\Python\\Python35-32\\python35.zip',
'C:\\Python\\Python35-32\\DLLs',
'C:\\Python\\Python35-32\\lib',
'C:\\Python\\Python35-32',
'C:\\Python\\Python35-32\\lib\\site-packages']
優先加載當前工作目錄下的模塊,如果你的項目中使用了與內建模塊中同名的包或模塊名,就會遇到沒有xx屬性之類的報錯提示,新手特喜歡干這種事。
4、你可以操作 sys.path,使得其它路徑的文件加入到Path中,使之能被解釋器發現。
# test.py
import sys, os
# 當前目錄沒有hi模塊,報錯找不到模塊
import hi
Traceback (most recent call last):
ImportError: No module named hi
# hi模塊所在位置: /data/hi.py
# 將hi所在模塊加入sys.path
sys.path.append("/data")
# 可以正常工作了
import hi
5、另外一種加載模塊的方法:如果你的模塊不在 sys.path 下面,除了第4條建議外,還可以使用 imp 模塊中的方法 imp.load_source
import imp
imp.load_source("hi", "C://data/hi.py")
import hi
# 可以自己指定模塊的名字,相當與 import hi as h3
imp.load_source("h3", "C://data/hi.py")
import h3
6、import module 時,模塊中所有的代碼將被執行(類對象,函數對象將被創建,不會被調用),import package 時,__init__.py
文件中的代碼也將被執行。
7、模塊的 __file__
屬性
導入模塊時,可以通過模塊的 __file__
屬性查看模塊所在磁盤的路徑位置
>>> import requests
>>> requests.__file__
'D:\\Programs\\Anaconda3\\envs\\py_test\\lib\\site-packages\\requests\\__init__.py'
8、永遠不要使用 from <module>
到此,關于“Python包和模塊的知識點有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。