程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Python中if __name__ == __main__作用解析

Python中if __name__ == __main__作用解析

編輯:更多關於編程

      這篇文章主要介紹了Python中if __name__ == '__main__'作用解析,這斷代碼在Python中非常常見,它有作用?本文就解析了它的作用,需要的朋友可以參考下

      當你打開一個.py文件時,經常會在代碼的最下面看到if __name__ == '__main__':,現在就來介 紹一下它的作用.

      模塊是對象,並且所有的模塊都有一個內置屬性 __name__。一個模塊的 __name__ 的值取決於您如何應用模塊。如果 import 一個模塊,那麼模塊__name__ 的值通常為模塊文件名,不帶路徑或者文件擴展名。但是您也可以像一個標准的程序樣直接運行模塊,在這 種情況下, __name__ 的值將是一個特別缺省"__main__"。

      ///////////////////////////////////////////////////////////////////////////////////////////////////

      在cmd 中直接運行.py文件,則__name__的值是'__main__';

      而在import 一個.py文件後,__name__的值就不是'__main__'了;

      從而用if __name__ == '__main__'來判斷是否是在直接運行該.py文件

      如:

       代碼如下:

      #Test.py

      class Test:

      def __init(self):pass

      def f(self):print 'Hello, World!'

      if __name__ == '__main__':

      Test().f()

      #End

      你在cmd中輸入:

       代碼如下:

      C:>python Test.py

      Hello, World!

      說明:"__name__ == '__main__'"是成立的

      你再在cmd中輸入:

       代碼如下:

      C:>python

      >>>import Test

      >>>Test.__name__ #Test模塊的__name__

      'Test'

      >>>__name__ #當前程序的__name__

      '__main__'

      無論怎樣,Test.py中的"__name__ == '__main__'"都不會成立的!

      所以,下一行代碼永遠不會運行到!

     

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved