溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

詳解python中的模塊及包導(dǎo)入

發(fā)布時(shí)間:2020-10-22 01:52:08 來源:腳本之家 閱讀:162 作者:飛躍流火 欄目:開發(fā)技術(shù)

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)載,煩請注明出處,謝謝!

向AI問一下細(xì)節(jié)

免責(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)容。

AI