色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

函數是C程序的入口點怎么理解

榮姿康2年前19瀏覽0評論

函數是C程序的入口點怎么理解?

對于很多編程語言來說,程序都必須要有一個入口,比如 C,C++,以及完全面向對象的編程語言 Java,C# 等。如果你接觸過這些語言,對于程序入口這個概念應該很好理解,C 和 C++ 都需要有一個 main 函數來作為程序的入口,也就是程序的運行會從 main 函數開始。同樣,Java 和 C# 必須要有一個包含 Main 方法的主類來作為程序入口。而 Python 則有不同,它屬于腳本語言,不像編譯型語言那樣先將程序編譯成二進制再運行,而是動態的逐行解釋運行。也就是從腳本第一行開始運行,沒有統一的入口。

一段好的示例代碼勝過一切

這里有倆個程序

const.py用來定義常數PI

area.py需要PI這個常數來計算圓的面積

const.py 代碼如下:

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

當運行python const.py,輸出

PI: 3.14

area.py (導入PI的值來計算圓面積)代碼如下

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

當運行python area.py,因為導入了const,輸出

PI: 3.14round area: 12.56

可以看到

const.py里面的main()也被執行了

但這是我們所不希望的

怎么辦?

只需在const.py中加入一句:

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

_name_代表當前模塊的名字

當我們再次運行“python area.py”時

對于const.py來說

_name_不再是_main_

因此其中的main()不再被執行

最終得到我們想要的輸出

round area: 12.56

以上示例代碼及注釋部分取自博文(非常好的總結文章,還詳細解釋了_name_):

Python 中的 if __name__ == '__main__' 該如何理解

java的主函數,函數是C程序的入口點怎么理解