亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

python中的__init__.py文件和導(dǎo)包總結(jié)

CodeSheep / 3262人閱讀

摘要:文件和導(dǎo)包總結(jié)也是一門學(xué)問(wèn)導(dǎo)入方式的作用把某一個(gè)目錄變成一個(gè)包,使得其他模塊使用包包中的某一模塊函數(shù)變量類這種方式時(shí)可用什么時(shí)候有用如果某一個(gè)目錄在后期導(dǎo)入使用時(shí)只是作為中間目錄銜接使用,則可以不加,如果某個(gè)目錄后期會(huì)被直接或間接顯示地作為

python __init__.py文件和導(dǎo)包總結(jié)

import也是一門學(xué)問(wèn)~

導(dǎo)入方式

import  
from xxx import yyy

__init__.py的作用

把某一個(gè)目錄變成一個(gè)包,  
使得其他模塊使用 包.包中的某一模塊/函數(shù)/變量/類 這種方式時(shí)可用

__init__.py什么時(shí)候有用?

如果某一個(gè)目錄在后期導(dǎo)入使用時(shí)只是作為中間目錄銜接使用,則可以不加__init__.py,  

如果某個(gè)目錄后期會(huì)被直接或間接顯示地作為一個(gè)包導(dǎo)入并被使用,那么必須必須必須要加__init__.py,并且__init__.py中的內(nèi)容會(huì)影響導(dǎo)入的內(nèi)容

每一個(gè)目錄都是可以被import的

如果一個(gè)目錄下沒(méi)有__init__.py,那么在import這個(gè)目錄時(shí),并不會(huì)報(bào)錯(cuò),只會(huì)以這個(gè)目錄名創(chuàng)建一個(gè)namespace,里面什么都沒(méi)有,沒(méi)有使用價(jià)值 module "name" (namespace)  

然而當(dāng)目錄下創(chuàng)建__init__.py后這個(gè)目錄就可以成為一個(gè)包 module "name" from "/Users/miechongdaxia/測(cè)試/test/name/__init__.py"

在pycharm下都以絕對(duì)路徑來(lái)引用包或者模塊

不要用 . 操作符,尤其是用from import這種方式,import一般直接導(dǎo)入外層目錄作為包,而from import會(huì)導(dǎo)入內(nèi)層目錄中的包或者模塊

python查找模塊/包的路徑

sys.path的值就是路徑

哪些東西可以被直接import?

模塊文件(.py文件)

C或C++擴(kuò)展(已編譯為共享庫(kù)或DLL文件)

目錄/包(包含多個(gè)模塊,不一定要有__init__.py,具體差別看第四點(diǎn))

內(nèi)建模塊(使用C編寫并已鏈接到Python解釋器中)

兩種導(dǎo)入方式的區(qū)別

from import 可以導(dǎo)入模塊中的函數(shù)/變量/類等  
import則不行,導(dǎo)入的不是模塊就是包目錄,無(wú)法細(xì)化到函數(shù)/變量/類等

如果一個(gè)目錄需要作為一個(gè)包使用,一定要在目錄下創(chuàng)建__init__.py,并且在里面寫好可以導(dǎo)入的模塊,不然包目錄可以導(dǎo)入,但是無(wú)法使用?。。。。?/p>

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/45035.html

相關(guān)文章

  • python開(kāi)發(fā)】1. __init__.py導(dǎo)包

    摘要:原理根據(jù)的開(kāi)發(fā)文檔,模塊導(dǎo)入主要有以下的步驟,創(chuàng)建一個(gè)新空的對(duì)象它可能包含多個(gè),把這個(gè)對(duì)象插入中,裝載的代碼如果需要,首先必須編譯,執(zhí)行新的中對(duì)應(yīng)的代碼。因此可以將初始化代碼放入該文件中。 ...

    李義 評(píng)論0 收藏0
  • 120 道 Python 面試筆試題匯總(上篇)

    摘要:所以在多線程中,線程的運(yùn)行仍是有先后順序的,并不是同時(shí)進(jìn)行。哈希函數(shù)的目的是使鍵均勻地分布在數(shù)組中。由于不同的鍵可能具有相同的哈希值,即可能出現(xiàn)沖突,高級(jí)的哈希函數(shù)能夠使沖突數(shù)目最小化。 首先這篇文章在我的《Python數(shù)據(jù)結(jié)構(gòu)》公眾號(hào)已經(jīng)提及,但是本篇文章提供了更為高級(jí)的解法,來(lái)發(fā)散大家的思維;同時(shí)為大家提供我的草稿py文件,大家可以關(guān)注《Python數(shù)據(jù)結(jié)構(gòu)》公眾號(hào)后恢復(fù) 120 ...

    susheng 評(píng)論0 收藏0
  • Python Package Import 之痛

    摘要:所以,解決方案是強(qiáng)制要求從整個(gè)項(xiàng)目的頂層用來(lái)設(shè)置端正的路徑。這個(gè)做法是官方推薦的,也是合邏輯的,即一個(gè)完整的項(xiàng)目運(yùn)行就應(yīng)當(dāng)以項(xiàng)目為入口來(lái)運(yùn)行所有的子或子。經(jīng)過(guò)不斷的實(shí)踐,發(fā)現(xiàn)他們大都沒(méi)說(shuō)清楚上下文,甚至沒(méi)有告訴完整的解決方案。 參考Python官方:Packages?參考:Python相對(duì)導(dǎo)入一處不解參考:使用相對(duì)路徑名導(dǎo)入包中子模塊 理解Package Python里,就像所有的.p...

    nihao 評(píng)論0 收藏0
  • pycharm故障報(bào)錯(cuò):keras導(dǎo)入報(bào)錯(cuò)無(wú)法自動(dòng)補(bǔ)全cannot find reference無(wú)法

      小編寫這篇文章的主要目的,就是給大家來(lái)介紹關(guān)于pycharm故障報(bào)錯(cuò)的一些相關(guān)問(wèn)題,涉及到的故障問(wèn)題有keras導(dǎo)入報(bào)錯(cuò)無(wú)法自動(dòng)補(bǔ)全,另外,還有cannot find reference無(wú)法補(bǔ)全,遇到這種問(wèn)題怎么處理呢?下面就給大家詳細(xì)解答下。  引言  目前無(wú)論是中文還是國(guó)外網(wǎng)站對(duì)于如何正確的導(dǎo)入keras,如何從tensorflow中導(dǎo)入keras,如何在pycharm中從tensorfl...

    89542767 評(píng)論0 收藏0
  • Flask Web 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)最佳實(shí)踐之 Flask 實(shí)例

    摘要:當(dāng)功能越來(lái)越復(fù)雜的時(shí)候,你可能修改了一些東西,導(dǎo)致另外一個(gè)功能的不可用,而單元測(cè)試也能保證了原有功能被破壞后能被檢測(cè)出來(lái)。 showImg(https://segmentfault.com/img/remote/1460000017081749); 前言 前一篇講到了 TDD 測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的相關(guān)概念和環(huán)境搭建,這篇就著手開(kāi)始用TDD方式開(kāi)發(fā)了。首先這篇需要編寫用戶相關(guān)的API接口,如...

    wuyangnju 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<