日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python3基础 if __name__ == '__main__'

發(fā)布時間:2024/8/26 python 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python3基础 if __name__ == '__main__' 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  對于很多編程語言來說,程序都必須要有一個入口,比如 C,C++,以及完全面向對象的編程語言 Java,C# 等。如果你接觸過這些語言,對于程序入口這個概念應該很好理解,C 和 C++ 都需要有一個 main 函數(shù)來作為程序的入口,也就是程序的運行會從 main 函數(shù)開始。同樣,Java 和 C# 必須要有一個包含 Main 方法的主類來作為程序入口。

  而 Python 則有不同,它屬于腳本語言,不像編譯型語言那樣先將程序編譯成二進制再運行,而是動態(tài)的逐行解釋運行。也就是從腳本第一行開始運行,沒有統(tǒng)一的入口。

  一個 Python 源碼文件除了可以被直接運行外,還可以作為模塊(也就是庫)被導入。不管是導入還是直接運行,最頂層的代碼都會被運行(Python 用縮進來區(qū)分代碼層次)。而實際上在導入的時候,有一部分代碼我們是不希望被運行的。

舉一個例子來說明一下,假設我們有一個 const.py 文件,內容如下:

PI = 3.14def main():print "PI:", PImain()

  我們在這個文件里邊定義了一些常量,然后又寫了一個 main 函數(shù)來輸出定義的常量,最后運行 main 函數(shù)就相當于對定義做一遍人工檢查,看看值設置的都對不對。然后我們直接執(zhí)行該文件(python const.py),輸出:

PI: 3.14

  現(xiàn)在,我們有一個 area.py 文件,用于計算圓的面積,該文件里邊需要用到 const.py 文件中的 PI 變量,那么我們從 const.py 中把 PI 變量導入到 area.py 中:

from const import PIdef calc_round_area(radius):return PI * (radius ** 2)def main():print "round area: ", calc_round_area(2)main()

運行 area.py,輸出結果:

PI: 3.14 round area: 12.56

  可以看到,const 中的 main 函數(shù)也被運行了,實際上我們是不希望它被運行,提供 main 也只是為了對常量定義進行下測試。這時,if __name__ == '__main__'?就派上了用場。把 const.py 改一下:

PI = 3.14def main():print "PI:", PIif __name__ == "__main__":main()

然后再運行 area.py,輸出如下:

round area: 12.56

再運行下 const.py,輸出如下:

PI: 3.14

這才是我們想要的效果。

參考:http://blog.konghy.cn/2017/04/24/python-entry-program

轉載于:https://www.cnblogs.com/gjh99/p/11176869.html

總結

以上是生活随笔為你收集整理的Python3基础 if __name__ == '__main__'的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。