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

Python中的main函數(shù)與import用法

 更新時間:2022年11月09日 11:09:49   作者:xiongxyowo  
這篇文章主要介紹了Python中的main函數(shù)與import用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

main函數(shù)與import用法

在python中,如果自己封裝的庫文件中有函數(shù)外的語句,那么這些語句是會在庫函數(shù)被導入時自動執(zhí)行的,這樣就會出現(xiàn)一些奇怪的問題,一個例子如下所示。

目錄結構如下

  • A.py
  • B.py

B.py中的內(nèi)容如下:

def print_B():
? ? print("B")

print("starting B")

A.py中使用import導入print_B()方法:

from B import print_B
print_B()

結果如下:

starting B
B

可以發(fā)現(xiàn)B.py中的函數(shù)外語句是會自動先執(zhí)行的。但有時候我們確實希望直接運行封裝的庫能夠執(zhí)行某些功能,但又不希望這些功能在被import的時候被觸發(fā),這個時候,就可以把這部分功能顯式的放在main方法中。

修改后的B.py如下所示:

def print_B():
? ? print("B")

if __name__ == "__main__":
? ? print("starting B")

此時運行A.py,結果如下:

B

main函數(shù)的作用以及解釋

python 中name == ‘__main__’ 的作用

  • 經(jīng)典的英文解釋:Make a script both importable and executable
  • 中文解釋:使腳本可以被調(diào)用import并且也可以直接運行

1、直接運行

# cat test_fun.py
def fun():
? ? print(__name__)
? ? print('this is fun')


if __name__ == '__main__':
? ? fun()
? ? print('this is main')
python test_fun.py
__main__
this is fun
this is main

2、被調(diào)用import

>>> import test_fun
>>> test_fun.fun()
test_fun
this is fun

調(diào)用導入時:此處輸出沒有顯示”main“,也就是說模塊name = ‘main’ 下面的代碼并未執(zhí)行,main函數(shù)沒有執(zhí)行。

這個功能還有一個用處:

調(diào)試代碼的時候,在”if name == ‘main‘“中加入一些我們的調(diào)試代碼,我們可以讓外部模塊調(diào)用的時候不執(zhí)行我們的調(diào)試代碼,但是如果我們想排查問題的時候,直接執(zhí)行該模塊文件,調(diào)試代碼能夠正常運行!

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python 給下載文件顯示進度條和下載時間的實現(xiàn)

    Python 給下載文件顯示進度條和下載時間的實現(xiàn)

    這篇文章主要介紹了Python 給下載文件顯示進度條和下載時間的代碼,本文通過實例代碼截圖相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python基礎之python循環(huán)控制語句break/continue詳解

    Python基礎之python循環(huán)控制語句break/continue詳解

    Python中提供了兩個關鍵字用來控制循環(huán)語句,分別是break和continue,接下來通過兩個案例來區(qū)分這兩個控制語句的不同,感興趣的朋友一起看看吧
    2021-09-09
  • python腳本設置超時機制系統(tǒng)時間的方法

    python腳本設置超時機制系統(tǒng)時間的方法

    這篇文章主要介紹了python腳本設置超時機制系統(tǒng)時間的方法,感興趣的小伙伴們可以參考一下
    2016-02-02
  • caffe binaryproto 與 npy相互轉(zhuǎn)換的實例講解

    caffe binaryproto 與 npy相互轉(zhuǎn)換的實例講解

    今天小編就為大家分享一篇caffe binaryproto 與 npy相互轉(zhuǎn)換的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python使用Slider組件實現(xiàn)調(diào)整曲線參數(shù)功能示例

    Python使用Slider組件實現(xiàn)調(diào)整曲線參數(shù)功能示例

    這篇文章主要介紹了Python使用Slider組件實現(xiàn)調(diào)整曲線參數(shù)功能,結合實例形式分析了Python使用matplotlib與Slider組件進行圖形繪制相關操作技巧,需要的朋友可以參考下
    2019-09-09
  • Python yield 使用方法淺析

    Python yield 使用方法淺析

    本篇文章主要介紹了Python yield 使用方法淺析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • Python的Dict對象源碼分析

    Python的Dict對象源碼分析

    這篇文章主要介紹了Python的Dict對象源碼分析,PyDictObject即字典對象,類似于C++ STL中的map,但STL中以紅黑樹實現(xiàn),Python中dict以hash表(散列表)實現(xiàn),需要的朋友可以參考下
    2023-08-08
  • 通過python實現(xiàn)彈窗廣告攔截過程詳解

    通過python實現(xiàn)彈窗廣告攔截過程詳解

    這篇文章主要介紹了通過python實現(xiàn)彈窗廣告攔截過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Python descriptor(描述符)的實現(xiàn)

    Python descriptor(描述符)的實現(xiàn)

    這篇文章主要介紹了Python descriptor(描述符)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • python枚舉類型定義與使用講解

    python枚舉類型定義與使用講解

    在python中枚舉是一種類(Enum,IntEnum),存放在enum模塊中。枚舉類型可以給一組標簽賦予一組特定的值,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10

最新評論

定兴县| 同心县| 泸西县| 新沂市| 景宁| 平原县| 南康市| 田阳县| 墨玉县| 绥芬河市| 南乐县| 靖宇县| 东海县| 论坛| 平陆县| 禄丰县| 淮滨县| 尚志市| 同德县| 临澧县| 玉山县| 左权县| 合阳县| 乡城县| 莆田市| 买车| 武隆县| 广河县| 桂阳县| 新民市| 慈利县| 河津市| 西城区| 共和县| 栾城县| 兴义市| 文化| 余干县| 安国市| 蓝田县| 阿城市|