您好,登錄后才能下訂單哦!
python中的導(dǎo)入關(guān)鍵字:import 以及from import
1、import
import一般用于導(dǎo)入包以及模塊。
不過有個(gè)小問題:
?。?)當(dāng)導(dǎo)入的是模塊的時(shí)候是可以直接可以使用模塊內(nèi)的函數(shù)以及變量的,
比如說:包名為: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)用了,本來是想省事的,想在_init_.py
中使用from . import *
來將test包下的模塊都進(jìn)行引入,然后發(fā)現(xiàn)并不可以, 只能一個(gè)一個(gè)模塊的進(jìn)行引入。
調(diào)用方法同上,也是通過(包名.模塊名.方法或者變量名)進(jìn)行調(diào)用
2、from .. import ..
一般寫法為from 包名 import 模塊名或者是 from 模塊名 import 函數(shù)名
這種方法寫起來就比較直觀一點(diǎn),也不用書寫_init_.py文件,只用將相應(yīng)的模塊名或者模塊中的函數(shù)名進(jìn)行引入即可,調(diào)用的時(shí)候直接通過模塊名 進(jìn)行調(diào)用,不能通過(包名.模塊名.函數(shù)名)進(jìn)行調(diào)用。
注意:上述的操作僅僅適用于在同一個(gè)文件夾下不同包之間進(jìn)行調(diào)用。
總結(jié)
以上所述是小編給大家介紹的python中的模塊及包導(dǎo)入,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。