Python __name__ == ‘__main__’详细解释-Python零基础入门教程
目錄
- 一.簡介
- 1.__name__
- 2.’__main__’
- 3.__name__ == ‘__main__‘
- 二.作用
- 三.猜你喜歡
? 零基礎 Python 學習路線推薦 : Python 學習目錄 >> Python 基礎入門
學習過 C 語言或者 Java 語言的盆友應該都知道程序運行必然有主程序入口 main 函數,而 Python 卻不同,即便沒有主程序入口,程序一樣可以自上而下對代碼塊依次運行,然后 Python 不少開源項目或者模塊中依然存在 __name__ == “__main__” 這種寫法,具體是上面意思呢?
一.簡介
1.__name__
** __name__** 是 Python 的內置屬性,是系統全局變量!每一個 py 文件都有一個屬于自己的__name__:
** 如果 py 文件作為模塊被導入(import),那么 __name__ 就是該 py 文件的文件名(也稱 模塊名);**
** 如果 py 文件直接運行時(Ctrl+Shift+F10),那么 __name__ 默認等于字符串”__main__”;**
舉個簡單的例子:假如你名字是張三
在朋友眼中,你是張三(__name__ == '張三');
在你自己眼中,你是你自己(__name__ == '__main__')
2.’__main__’
‘_ _main_ _’ 實際上就是一個字符串,用來鑒別程序入口,沒有太多花里胡哨的東西.
3.__name__ == ‘__main__‘****
當 .py 文件被直接運行 (Ctrl+Shift+F10) 時,** if __name__ == ‘__main__’ 之下的代碼塊將被運行,該語句就相當與 Python 的 main 主函數入口**,示例代碼如下:
a.新建一個 my_name.py 文件,作為模塊文件:
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python __name__ == ‘__main__’.py @Time:2021/04/24 08:00 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""# 定義一個函數并打印 __name__ def prit_name():print("my_name.py __name__:", __name__)if __name__ == "__main__":prit_name()b.新建一個 python_main.py 文件,作為啟動文件 (Ctrl+Shift+F10):
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python __name__ == ‘__main__’.py @Time:2021/04/24 08:00 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""# 導入 my_name 模塊 import my_name# 定義一個函數并打印 __name__ def prit_name():my_name.prit_name()print("python_main.py __name__:", __name__)if __name__ == "__main__":prit_name()''' 輸出結果:my_name.py __name__: my_name python_main.py __name__: __main__'''** 由此可見,作為啟動文件 python_main.py ,該文件的內置屬性 __name** 等于 ‘__main__’,而 my_name.py 作為導入模塊,該模塊的 __name** 等于文件名(也稱模塊名字),所以 my_name.py 中的 表達式 if __name__ == ‘__main__’ 并不成立!**
當直接將 my_name.py 作為啟動文件時 (Ctrl+Shift+F10),輸出:
my_name.py __name__: __main__**總結: **
如果 py 文件作為模塊被導入(import),那么 __name__ 就是該 py 文件的文件名(也稱 模塊名);
如果 py 文件直接運行時(Ctrl+Shift+F10),那么 __name__ 默認等于字符串 ‘__main__‘** ;**
?
二.作用
1.__name__ == ‘__main__‘ 作為啟動 py 文件的 main 函數入口;
2.一個項目中必然會包含多個模塊文件,每個模塊文件在自己寫完代碼之后會做一些簡單的測試用于檢測 bug 或者 對自己的函數調用寫一個簡單的示例,而恰到好處的是:__name__ == ‘__main__‘ 既不會影響你的測試代碼,也不會影響別人調用你的接口函數;
?
三.猜你喜歡
未經允許不得轉載:猿說編程 ? Python __name__ == ‘__main__’詳細解釋
總結
以上是生活随笔為你收集整理的Python __name__ == ‘__main__’详细解释-Python零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: React之初始化state
- 下一篇: Python 条件判断 if/else