欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中__name__的具體使用

 更新時(shí)間:2024年09月14日 09:42:52   作者:Jasonial  
在Python中,__name__是一個(gè)內(nèi)置變量,用于表示當(dāng)前模塊的名稱,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

當(dāng)你直接運(yùn)行一個(gè) Python 文件時(shí),無論該文件導(dǎo)入了多少其他的模塊,__name__ 的值仍然是 "__main__"。這是因?yàn)?nbsp;__name__ 的值是由 Python 解釋器根據(jù)腳本的運(yùn)行方式來設(shè)定的,而不是由腳本內(nèi)部的導(dǎo)入語句決定的。

先總結(jié)

  • 一個(gè)py文件對應(yīng)一個(gè) __name__
  • 文件直接運(yùn)行時(shí):當(dāng)一個(gè)文件被直接運(yùn)行時(shí),它的 __name__ 是 "__main__"。
  • 文件被調(diào)用時(shí):當(dāng)一個(gè)文件被其他文件調(diào)用時(shí),它的 __name__ 是該文件的名字(不帶 .py 擴(kuò)展)。

當(dāng)直接運(yùn)行 main.py

假設(shè)你有以下文件結(jié)構(gòu):

  • module_a.py
  • module_b.py
  • main.py

當(dāng)直接運(yùn)行 main.py 時(shí),main.py 的 __name__ 會(huì)是 "__main__"。因此,if __name__ == "__main__": 里的代碼會(huì)被執(zhí)行。

# main.py
import module_a
import module_b

def main():
    print("Main program started")
    module_a.greet_a("Alice")
    module_b.greet_b("Bob")

if __name__ == "__main__":
    main()

當(dāng)你執(zhí)行 python main.py 時(shí),輸出將是:

Main program started
Hello, Alice! (From module_a)
Hello, Bob! (From module_b)

當(dāng) main.py 在另一個(gè)腳本中被調(diào)用

如果 main.py 被另一個(gè)腳本導(dǎo)入,那么 main.py 的 __name__ 將是 "main"(取決于文件名),因此 if __name__ == "__main__": 里的代碼不會(huì)被執(zhí)行。

假設(shè)你有另一個(gè)腳本 runner.py

# runner.py
import main

print("Runner script started")
main.main()  # 顯式調(diào)用 main 函數(shù)

當(dāng)你執(zhí)行 python runner.py 時(shí),輸出將是:

Runner script started
Main program started
Hello, Alice! (From module_a)
Hello, Bob! (From module_b)

總結(jié)

因此,無論你在 main.py 中導(dǎo)入了多少其他的模塊,只要你是直接運(yùn)行 main.py,它的 __name__ 就會(huì)是 "__main__",if __name__ == "__main__": 里的代碼就會(huì)被執(zhí)行。

到此這篇關(guān)于Python中__name__的具體使用的文章就介紹到這了,更多相關(guān)Python __name__內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論