溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python如何實(shí)現(xiàn)以主程序的形式執(zhí)行模塊

發(fā)布時(shí)間:2022-06-17 13:55:35 來(lái)源:億速云 閱讀:205 作者:iii 欄目:開發(fā)技術(shù)

今天小編給大家分享一下Python如何實(shí)現(xiàn)以主程序的形式執(zhí)行模塊的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

前言:

這個(gè)先來(lái)創(chuàng)建一個(gè)模塊,名稱為christmastree,在該模塊中,首先定義一個(gè)全局變量,然后創(chuàng)建一個(gè)名稱為fun_christmastree()的函數(shù),最后再通過(guò)print()函數(shù)輸出一寫內(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("===============開始做夢(mèng)……===============")
fun_christmastree()  # 調(diào)用函數(shù)
print("===============開始做夢(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)容:

Python如何實(shí)現(xiàn)以主程序的形式執(zhí)行模塊

從上圖所示的運(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("===============開始做夢(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í)行。

Python如何實(shí)現(xiàn)以主程序的形式執(zhí)行模塊

此時(shí),如果執(zhí)行christmastree.py文件,將顯示如下圖所示的結(jié)果:

Python如何實(shí)現(xiàn)以主程序的形式執(zhí)行模塊

說(shuō)明: 在每個(gè)模塊的定義中都包括一個(gè)記錄模塊名稱的變量__name__,程序可以檢查該變量,以確定它們?cè)谀莻€(gè)模塊中執(zhí)行。如果一個(gè)模塊不是被導(dǎo)入到其他程序中執(zhí)行,那么它可能在解釋器的頂級(jí)模塊中執(zhí)行。頂級(jí)模塊的__name__變量的值為__main__。

以上就是“Python如何實(shí)現(xiàn)以主程序的形式執(zhí)行模塊”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI