詳解python中的模塊及包導(dǎo)入
python中的導(dǎo)入關(guān)鍵字:import 以及from import
1、import
import一般用于導(dǎo)入包以及模塊。
不過(guò)有個(gè)小問(wèn)題:
?。?)當(dāng)導(dǎo)入的是模塊的時(shí)候是可以直接可以使用模塊內(nèi)的函數(shù)以及變量的,
比如說(shuō):包名為:com.test,在這個(gè)包底下有個(gè)模塊為a.py,那么當(dāng)其他包中的模塊想要引入a模塊的時(shí)候?qū)懛椤 ?/p>
import com.test.a
在b.py中調(diào)用的方式為:com.test.a.(a中的函數(shù)或者變量),而不能直接寫為a.(a中的函數(shù)名或者變量)
?。?)當(dāng)導(dǎo)入的是包名的時(shí)候,例如:import com.test
這個(gè)時(shí)候會(huì)發(fā)現(xiàn),不能使用test包下的模塊,解決方法是在test包下新建一個(gè)_init_.py
文件(在pycharn中,當(dāng)你新建package時(shí),都會(huì)自動(dòng)生成一個(gè)_ini_.py文件),在這個(gè)文件中書寫
from . import a
在上面這句話中 . (點(diǎn))代表的是當(dāng)前文件夾。這是因?yàn)樵谶M(jìn)行import 包名的操作的時(shí)候其會(huì)調(diào)用_init_.py文件。
這樣就可以在b模塊中進(jìn)行調(diào)用了,本來(lái)是想省事的,想在_init_.py
中使用from . import *
來(lái)將test包下的模塊都進(jìn)行引入,然后發(fā)現(xiàn)并不可以, 只能一個(gè)一個(gè)模塊的進(jìn)行引入。
調(diào)用方法同上,也是通過(guò)(包名.模塊名.方法或者變量名)進(jìn)行調(diào)用
2、from .. import ..
一般寫法為from 包名 import 模塊名或者是 from 模塊名 import 函數(shù)名
這種方法寫起來(lái)就比較直觀一點(diǎn),也不用書寫_init_.py文件,只用將相應(yīng)的模塊名或者模塊中的函數(shù)名進(jìn)行引入即可,調(diào)用的時(shí)候直接通過(guò)模塊名 進(jìn)行調(diào)用,不能通過(guò)(包名.模塊名.函數(shù)名)進(jìn)行調(diào)用。
注意:上述的操作僅僅適用于在同一個(gè)文件夾下不同包之間進(jìn)行調(diào)用。
總結(jié)
以上所述是小編給大家介紹的python中的模塊及包導(dǎo)入,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
python3從網(wǎng)絡(luò)攝像機(jī)解析mjpeg http流的示例
這篇文章主要介紹了python3從網(wǎng)絡(luò)攝像機(jī)解析mjpeg http流的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11解決Python的str強(qiáng)轉(zhuǎn)int時(shí)遇到的問(wèn)題
下面小編就為大家分享一篇解決Python的str強(qiáng)轉(zhuǎn)int時(shí)遇到的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04Python各類圖像庫(kù)的圖片讀寫方式總結(jié)(推薦)
這篇文章主要介紹了Python各類圖像庫(kù)的圖片讀寫方式總結(jié)(推薦),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02Python+pyaudio實(shí)現(xiàn)音頻控制示例詳解
PyAudio?是語(yǔ)音處理的?Python?庫(kù),提供了比較豐富的功能。本文將利用pyaudio控制指定設(shè)備,實(shí)現(xiàn)錄制音頻、采集音頻流、播放音頻,感興趣的可以了解一下2022-07-07