国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python中的__init__.py文件和導包總結

CodeSheep / 3189人閱讀

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

python __init__.py文件和導包總結

import也是一門學問~

導入方式

import  
from xxx import yyy

__init__.py的作用

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

__init__.py什么時候有用?

如果某一個目錄在后期導入使用時只是作為中間目錄銜接使用,則可以不加__init__.py,  

如果某個目錄后期會被直接或間接顯示地作為一個包導入并被使用,那么必須必須必須要加__init__.py,并且__init__.py中的內容會影響導入的內容

每一個目錄都是可以被import的

如果一個目錄下沒有__init__.py,那么在import這個目錄時,并不會報錯,只會以這個目錄名創建一個namespace,里面什么都沒有,沒有使用價值 module "name" (namespace)  

然而當目錄下創建__init__.py后這個目錄就可以成為一個包 module "name" from "/Users/miechongdaxia/測試/test/name/__init__.py"

在pycharm下都以絕對路徑來引用包或者模塊

不要用 . 操作符,尤其是用from import這種方式,import一般直接導入外層目錄作為包,而from import會導入內層目錄中的包或者模塊

python查找模塊/包的路徑

sys.path的值就是路徑

哪些東西可以被直接import?

模塊文件(.py文件)

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

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

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

兩種導入方式的區別

from import 可以導入模塊中的函數/變量/類等  
import則不行,導入的不是模塊就是包目錄,無法細化到函數/變量/類等

如果一個目錄需要作為一個包使用,一定要在目錄下創建__init__.py,并且在里面寫好可以導入的模塊,不然包目錄可以導入,但是無法使用!!!!!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/45035.html

相關文章

  • python開發】1. __init__.py導包

    摘要:原理根據的開發文檔,模塊導入主要有以下的步驟,創建一個新空的對象它可能包含多個,把這個對象插入中,裝載的代碼如果需要,首先必須編譯,執行新的中對應的代碼。因此可以將初始化代碼放入該文件中。 ...

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

    摘要:所以在多線程中,線程的運行仍是有先后順序的,并不是同時進行。哈希函數的目的是使鍵均勻地分布在數組中。由于不同的鍵可能具有相同的哈希值,即可能出現沖突,高級的哈希函數能夠使沖突數目最小化。 首先這篇文章在我的《Python數據結構》公眾號已經提及,但是本篇文章提供了更為高級的解法,來發散大家的思維;同時為大家提供我的草稿py文件,大家可以關注《Python數據結構》公眾號后恢復 120 ...

    susheng 評論0 收藏0
  • Python Package Import 之痛

    摘要:所以,解決方案是強制要求從整個項目的頂層用來設置端正的路徑。這個做法是官方推薦的,也是合邏輯的,即一個完整的項目運行就應當以項目為入口來運行所有的子或子。經過不斷的實踐,發現他們大都沒說清楚上下文,甚至沒有告訴完整的解決方案。 參考Python官方:Packages?參考:Python相對導入一處不解參考:使用相對路徑名導入包中子模塊 理解Package Python里,就像所有的.p...

    nihao 評論0 收藏0
  • pycharm故障報錯:keras導入報錯無法自動補全cannot find reference無法

      小編寫這篇文章的主要目的,就是給大家來介紹關于pycharm故障報錯的一些相關問題,涉及到的故障問題有keras導入報錯無法自動補全,另外,還有cannot find reference無法補全,遇到這種問題怎么處理呢?下面就給大家詳細解答下。  引言  目前無論是中文還是國外網站對于如何正確的導入keras,如何從tensorflow中導入keras,如何在pycharm中從tensorfl...

    89542767 評論0 收藏0
  • Flask Web 測試驅動開發最佳實踐之 Flask 實例

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

    wuyangnju 評論0 收藏0

發表評論

0條評論

CodeSheep

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<