最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于python中模塊和重載的問題

 更新時(shí)間:2021年11月02日 10:36:53   作者:zy010101  
這篇文章主要介紹了python模塊和重載的問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

模塊和重載

簡單來講,任意一個(gè)以.py結(jié)尾的python文件都是一個(gè)模塊。例如有A.py和B.py兩個(gè)文件。在A中可以通過導(dǎo)入B來讀取B模塊定義的內(nèi)容,導(dǎo)入操作本質(zhì)上就是載入另一個(gè)文件。
基于模塊的模型是python程序架構(gòu)背后的核心思想。

一個(gè)大型python程序往往以多個(gè)模塊文件的形式出現(xiàn),并且從其它模塊導(dǎo)入工具。但是通常會指定一個(gè)模塊文件作為主文件(也叫頂層文件),該文件啟動之后,就會運(yùn)行整個(gè)程序。除了頂層文件之外的其他文件都是導(dǎo)入模塊。

導(dǎo)入操作將會導(dǎo)致模塊中的代碼被運(yùn)行,因此導(dǎo)入文件也是一種運(yùn)行python文件的方法。 模塊文件只有第一次被導(dǎo)入的時(shí)候會被執(zhí)行,之后就不會被執(zhí)行。如下圖所示:

在這里插入圖片描述

如果你想在同一個(gè)python會話中,多次運(yùn)行模塊文件,你需要調(diào)用importlib模塊的reload方法(reload方法在python2中是內(nèi)置方法,在python3中需要從importlib模塊中導(dǎo)入)。如下圖所示:

在這里插入圖片描述

reload函數(shù)載入并運(yùn)行了代碼,如果你對reload載入的代碼做過修改,那么下一次reload將會載入修改過的代碼。如下圖所示:

在這里插入圖片描述

注意,reload函數(shù)使用的前提是之前import過該模塊,否則會報(bào)錯。
因?yàn)閞eload希望獲得的參數(shù)是一個(gè)已經(jīng)被導(dǎo)入過的模塊名稱。
reload函數(shù)是不傳遞的,也就是說你重載了A文件,A文件中導(dǎo)入的模塊不會被重載。

在這里插入圖片描述

導(dǎo)入和重載提供了一種自然的程序啟動選項(xiàng)。模塊其實(shí)起到了一個(gè)命名空間的作用。而模塊中的變量就是屬性。

導(dǎo)入模塊可以使用import也可以使用from。它們之間是有一定的差別的,from是復(fù)制了模塊的屬性,使得屬性成為該文件的直接變量。這時(shí)候你就能直接使用該屬性。例如:

在這里插入圖片描述

使用load模塊的屬性a,需要使用object.attributu的方式來使用。而b是通過from方法導(dǎo)入的,則不需要,因?yàn)閒rom將b復(fù)制到了該文件中,而不是依舊存在于load這個(gè)命名空間。

無論是import還是from導(dǎo)入文件,都不需要加python文件擴(kuò)展名.py,如果你一不小心加上了,那么會報(bào)錯。

模塊與命名空間

每個(gè)模塊都是自包含的命名空間,一個(gè)模塊文件無法獲得另一個(gè)模塊文件中的變量,除非它顯示的導(dǎo)入那個(gè)文件。每一個(gè)模塊都是一個(gè)獨(dú)立的命名空間。

到此這篇關(guān)于關(guān)于python中模塊和重載的問題的文章就介紹到這了,更多相關(guān)python 模塊和重載內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

思南县| 左贡县| 宜川县| 理塘县| 镶黄旗| 舒兰市| 廉江市| 宁远县| 鱼台县| 延长县| 香河县| 延边| 且末县| 车险| 宜兰市| 滁州市| 峡江县| 福清市| 池州市| 涞水县| 墨脱县| 香格里拉县| 偃师市| 曲周县| 饶平县| 海伦市| 雷山县| 宜都市| 德惠市| 台江县| 清丰县| 桃园县| 禹州市| 荔波县| 长丰县| 湄潭县| 瓦房店市| 威信县| 临猗县| 普宁市| 商南县|