Python實(shí)現(xiàn)以主程序的形式執(zhí)行模塊
前言:
這個(gè)先來(lái)創(chuàng)建一個(gè)模塊,名稱為christmastree,在該模塊中,首先定義一個(gè)全局變量,然后創(chuàng)建一個(gè)名稱為fun_christmastree()的函數(shù),最后再通過(guò)print()函數(shù)輸出一寫(xiě)內(nèi)容。
代碼如下:
printree = "我是小菜雞" # 定義全局變量”小菜雞“ def fun_christmastree(): # 定義函數(shù) """功能: 一個(gè)夢(mèng) :return 無(wú)返回值 """ printree = "新星計(jì)劃,頒獎(jiǎng)...我獲獎(jiǎng)了@^。^@" # 定義局部變量 print(printree) # 輸出局部變量 # ********************函數(shù)體外*********************** # print("\n夜深了……\n") print("===============開(kāi)始做夢(mèng)……===============") fun_christmastree() # 調(diào)用函數(shù) print("===============開(kāi)始做夢(mèng)……===============") printree = "原來(lái)是一場(chǎng)夢(mèng)," + printree + "-_-" print(printree) # 輸出全局變量
在與christmastree模塊同級(jí)的目錄下,創(chuàng)建一個(gè)名稱為main.py的文件,在該文件中,導(dǎo)入christmastree模塊,再通過(guò)print()語(yǔ)句輸出模塊中的全局變量printree的值,
代碼如下:
import christmastree print("全局變量的值為:", christmastree.printree)
運(yùn)行上面代碼,將顯示如圖所示的內(nèi)容:
從上圖所示的運(yùn)行結(jié)果可以看出,導(dǎo)入模塊后,不僅輸出了全局變量的值,而且模塊中原有的測(cè)試代碼也被執(zhí)行了。這個(gè)結(jié)果顯然不是我們想要的。那么如何只輸出全局變量的值呢?實(shí)際上,可以在模塊中,將原本直接執(zhí)行的測(cè)試代碼放在一個(gè)if語(yǔ)句中。
因此,可以將模塊christmastree的代碼修改為以下內(nèi)容:
printree = "我是小菜雞" # 定義全局變量”小菜雞“ def fun_christmastree(): # 定義函數(shù) """功能: 一個(gè)夢(mèng) :return 無(wú)返回值 """ printree = "新星計(jì)劃,頒獎(jiǎng)...我獲獎(jiǎng)了@^。^@" # 定義局部變量 print(printree) # 輸出局部變量 # ********************判斷是否以主程序的形式運(yùn)行*********************** # if __name__ == "__main__": print("\n夜深了……\n") print("===============開(kāi)始做夢(mèng)……===============") fun_christmastree() # 調(diào)用函數(shù) print("===============夢(mèng)醒了……===============") printree = "原來(lái)是一場(chǎng)夢(mèng)," + printree + "-_-" print(printree) # 輸出全局變量
再次執(zhí)行導(dǎo)入模塊main.py 文件,將顯示以下如圖所示的結(jié)果,從執(zhí)行結(jié)果中可以看出測(cè)試代碼并沒(méi)有被執(zhí)行。
此時(shí),如果執(zhí)行christmastree.py文件,將顯示如下圖所示的結(jié)果:
說(shuō)明: 在每個(gè)模塊的定義中都包括一個(gè)記錄模塊名稱的變量__name__,程序可以檢查該變量,以確定它們?cè)谀莻€(gè)模塊中執(zhí)行。如果一個(gè)模塊不是被導(dǎo)入到其他程序中執(zhí)行,那么它可能在解釋器的頂級(jí)模塊中執(zhí)行。頂級(jí)模塊的__name__變量的值為_(kāi)_main__。
到此這篇關(guān)于Python實(shí)現(xiàn)主程序的形式執(zhí)行模塊的文章就介紹到這了,更多相關(guān)Python執(zhí)行模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何利用python批量提取txt文本中所需文本并寫(xiě)入excel
最近幫人寫(xiě)了幾個(gè)小程序,所以記錄下,下面這篇文章主要給大家介紹了關(guān)于如何利用python批量提取txt文本中所需文本并寫(xiě)入excel的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07Python調(diào)用OpenCV實(shí)現(xiàn)圖像平滑代碼實(shí)例
這篇文章主要介紹了Python調(diào)用OpenCV實(shí)現(xiàn)圖像平滑代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06Django報(bào)錯(cuò)TemplateDoesNotExist的問(wèn)題及解決
這篇文章主要介紹了Django報(bào)錯(cuò)TemplateDoesNotExist的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08Python3.9環(huán)境搭建RobotFramework的詳細(xì)過(guò)程
Robot Framework是一個(gè)基于Python的,可擴(kuò)展的關(guān)鍵字驅(qū)動(dòng)的測(cè)試自動(dòng)化框架,用于端到端驗(yàn)收測(cè)試和驗(yàn)收測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(ATDD),這篇文章主要介紹了Python3.9環(huán)境搭建RobotFramework的詳細(xì)過(guò)程,需要的朋友可以參考下2023-01-01深入探索Django中間件的應(yīng)用場(chǎng)景
Django中間件是一種可插拔的應(yīng)用程序組件,可在請(qǐng)求和響應(yīng)處理過(guò)程中修改Django的行為。中間件可用于處理請(qǐng)求、響應(yīng)、異常等,還可用于實(shí)現(xiàn)身份驗(yàn)證、緩存、性能監(jiān)控等常用功能。通過(guò)深入探索中間件的應(yīng)用場(chǎng)景,可以提高Django應(yīng)用程序的可擴(kuò)展性和靈活性2023-05-05python進(jìn)度條庫(kù)tqdm的基本操作方法
這篇文章主要介紹了python進(jìn)度條庫(kù)tqdm的基本操作方法,tqdm實(shí)時(shí)輸出處理進(jìn)度而且占用的CPU資源非常少,支持windows、Linux、mac等系統(tǒng),支持循環(huán)處理、多進(jìn)程、遞歸處理、還可以結(jié)合linux的命令來(lái)查看處理情況等優(yōu)點(diǎn),下面對(duì)其更多內(nèi)容詳細(xì)介紹,需要的朋友可以參考一下2022-03-03基于python內(nèi)置函數(shù)與匿名函數(shù)詳解
下面小編就為大家分享一篇基于python內(nèi)置函數(shù)與匿名函數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01