2013-05-18 103 views
5

我跨線蟒蛇來了:Python的主要功能

def somefunc: 
    [...] 

if __name__ == '__main__': 
    somefunc 

我不明白什麼是「如果__name ......」的確。

假設我們有:

if __name__ == '__main__': main() 

#this code will find main 

因此,這是類似於C/C++的main()函數,它獲取的任何其他函數之前執行?

+0

http://stackoverflow.com/questions/419163/what-does-if-name-main-do –

回答

1

你可以認爲這是C中的main()或perl中的BEGIN {}塊。

當您使用python file1.py運行代碼。

__name__ in file1.py等於'__main__',但在由file1.py導入的其他文件中,該變量是別的。

8

如果您直接執行腳本,而不導入它,__name__將等於__main__。但是,如果您導入此文件,__name__將等於導入它的模塊的名稱。 這個條件確保你從這個文件執行你的代碼。