一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

詳解python包中的__init__.py

 靜幻堂 2020-02-28
碼農(nóng)阿勇 2020-02-28 19:51:00

詳解python包中的__init__.py

1、 包與模塊,類,函數(shù)之間的關(guān)系

隨著互聯(lián)網(wǎng)和IOT的發(fā)展,我們在享受軟件的強大和智能的同時,其背后與之對應(yīng)的代碼規(guī)模也越來越大。因此我們無法將所有的功能代碼塊都放在一個文件中去。于是我們根據(jù)功能進行拆分為一個個模塊進行組織。當(dāng)模塊很多的時候,為了便于模塊管理和防止模塊重名,又引入了一個比模塊更大的容器(包)來組織模多個塊。

其實python的程序我們可以理解為有包,模塊和模塊中的函數(shù)和類組成。它們之間的關(guān)系如下圖所示:

詳解python包中的__init__.py

2、 如何創(chuàng)建一個包

創(chuàng)建一個包其實很簡單,你只需要創(chuàng)建一個空的文件夾,然后在這個文件夾中放一個名為__init__.py這樣的模塊,里邊什么都不用寫。

這樣一個包就成了。例如我在D盤跟目錄下創(chuàng)建一個名為mypkg的包如下圖所示。

詳解python包中的__init__.py

注意包中的__init__.py這個模塊不能少,否則就成文件夾了。其實本質(zhì)上來講包就是個文件夾。如果在pycharm中創(chuàng)建包更簡單,直接在當(dāng)前的工程名上點擊右鍵,選擇new菜單,然后選擇python package即可,如下圖所示。

詳解python包中的__init__.py

3、 如何使用一個包中的模塊

包中只有存放模塊,包才有意義,在包外的主程序模塊如何調(diào)用包中模塊中的函數(shù)或類那?其實也是通過import關(guān)鍵字來實現(xiàn)的。

第一種導(dǎo)入方法如下圖所示:

詳解python包中的__init__.py

第二種導(dǎo)入方法如下圖所示:

詳解python包中的__init__.py

通過包名就可以有效的防止模塊重名。

4、 包中的__init__.py模塊有啥用

1、它的第一個作用就是用來識別它是一個包還是一個文件夾的作用。

2、可以用來做批量導(dǎo)入。

首先我在__init__.py中寫入如下代碼

詳解python包中的__init__.py

然后我在test_module.py中可以不寫導(dǎo)入random和re模塊的導(dǎo)入語句,直接調(diào)用模塊中的函數(shù)如下圖所示:

詳解python包中的__init__.py

其實import后跟包名,其實導(dǎo)入的是__init__.py模塊,也就是說在導(dǎo)入時會自動執(zhí)行包中的__init__.py模塊中的代碼。

3、當(dāng)然也可以把__init__.py當(dāng)做一個普通模塊來使用,但是一般不推薦這樣用。

在__init__.py中定義一個函數(shù)test_add.

詳解python包中的__init__.py

然后在test_module.py中調(diào)用該包中__init__模塊中的函數(shù),如下圖所示,直接通過包名來調(diào)用,從這個可以看出,包其實也是一個特殊的模塊.導(dǎo)包就是導(dǎo)__init__.py模塊。

詳解python包中的__init__.py

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧美日不卡无在线一区| 老司机亚洲精品一区二区| 亚洲精品一区二区三区日韩| 国产欧美另类激情久久久| 亚洲一区二区三区在线中文字幕| 国产日韩欧美一区二区| 中文字幕欧美视频二区| 欧美日韩亚洲巨色人妻| 在线精品首页中文字幕亚洲| 欧洲自拍偷拍一区二区| 午夜福利视频偷拍91| 黑鬼糟蹋少妇资源在线观看 | 国产又粗又长又大高潮视频| 国产精品一区二区高潮| 女同伦理国产精品久久久| 经典欧美熟女激情综合网| 国产爆操白丝美女在线观看| 精品欧美国产一二三区| 加勒比日本欧美在线观看| 国产欧美高清精品一区| 国产三级视频不卡在线观看| 亚洲高清中文字幕一区二三区| 亚洲熟妇熟女久久精品| 99久热只有精品视频最新| 精品人妻久久一品二品三品| 97人摸人人澡人人人超碰| 日本道播放一区二区三区| 99久久国产精品成人观看| 国产丝袜美女诱惑一区二区| 午夜资源在线观看免费高清| 国产不卡免费高清视频| 亚洲色图欧美另类人妻| 一区二区免费视频中文乱码国产| 国产免费操美女逼视频| 亚洲中文字幕亲近伦片| 日本一二三区不卡免费| 亚洲熟女少妇精品一区二区三区| 亚洲熟妇中文字幕五十路| 久久精品国产一区久久久| 国产精品久久男人的天堂| 久久国产人妻一区二区免费|