国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python基礎之包的導入和__init__.py的介紹

2020-02-16 11:31:02
字體:
來源:轉載
供稿:網友

調用同級目錄:

– src |– mod.py |– test.py

若在程序test.py中導入模塊mod, 則直接使用

import mod或from mod import *

調用子目錄下的模塊:

– src |– mod.py |– lib | |– mod2.py |– test.pyfrom lib.mod2 import *或import lib.mod2

調用上級目錄下的文件

目錄結構如下:

– src |– mod.py |– lib | |– mod2.py |– sub | |– test2.pyimport syssys.path.append('C://test//A//C')import modimport lib.mod2

__init__.py

在python模塊的每一個包中,都有一個__init__.py文件(這個文件定義了包的屬性和方法)然后是一些模塊文件和子目錄,假如子目錄中也有__init__.py 那么它就是這個包的子包了。當你將一個包作為模塊導入(比如從 xml 導入 dom )的時候,實際上導入了它的__init__.py 文件。

一個包是一個帶有特殊文件 __init__.py 的目錄。__init__.py 文件定義了包的屬性和方法。其實它可以什么也不定義;可以只是一個空文件,但是必須存在。如果 __init__.py 不存在,這個目錄就僅僅是一個目錄,而不是一個包,它就不能被導入或者包含其它的模塊和嵌套包。

__init__.py 中還有一個重要的變量,叫做__all__。

如果此時目錄如下

– src |– mod.py |– lib | |– mod2.py | |– mod3.py | |– sub | |– | |– mod3.py

我們有時會使出一招“全部導入”,也就是這樣:

from lib import *

這時 import 就會把注冊在包__init__.py 文件中 __all__ 列表中的子模塊和子包導入到當前作用域中來。比如:

#文件__init__.py__all__ = ["mod2", "mod3", "sub"]

總結:

對于其余路徑下載py文件,要想導入,先加到sys.path中,然后再導入。

__init__.py的作用:

package的標識,不能刪除 定義package中的__all__,用來模糊導入 編寫Python代碼(不建議在__init__中寫python模塊,可以在包中在創建另外的模塊來寫,盡量保證__init__.py簡單)

總結

以上所述是小編給大家介紹的python基礎之包的導入和__init__.py的介紹,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林站長站網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵川县| 津市市| 蓬溪县| 德令哈市| 四子王旗| 名山县| 江阴市| 噶尔县| 南通市| 伊宁市| 上犹县| 崇义县| 长宁县| 姚安县| 黄平县| 易门县| 沁阳市| 福安市| 永和县| 互助| 永德县| 博爱县| 沙雅县| 汉沽区| 金昌市| 平远县| 壤塘县| 灵寿县| 淮滨县| 兴安盟| 古田县| 淳安县| 东兴市| 仁布县| 仁寿县| 崇义县| 昭苏县| 永春县| 普兰县| 大田县| 永昌县|