Ⅰ 如何調用一個python模塊的main函數

f main():
print 'test ok'

if __name__ = "__main__":
main()

# test2.py
import test
test.main()

Ⅱ python 中的if __name__=='__main__': main()是什麼 意思呢

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

if __name__ == '__main__'就相當於是 Python模擬的程序入口。Python 本身並沒有規定這么寫,這只是一種編碼習慣。由於模塊之間相互引用,不同模塊可能都有這樣的定義,而入口程序只能有一個。到底哪個入口程序被選中,這取決於__name__的值。

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

PI = 3.14

def main():

print "PI:", PI

main()

(2)python的main擴展閱讀

如果模塊是被直接運行的,則代碼塊被運行,如果模塊是被導入的,則代碼塊不被運行。實際上,這個問題還可以衍生出其他的一些知識點,例如__main__.py文件與 Python 的-m參數。

輸出結果只列出了關鍵的部分,應該很容易看出他們之間的差異。直接運行是把 run.py 文件所在的目錄放到了 sys.path 屬性中。以模塊方式運行是把你輸入命令的目錄(也就是當前工作路徑),放到了 sys.path 屬性中。

Ⅲ python__main__是啥意思

python 中__name__=="__main__" 表示當前程序是直接調用的,而不是從其它程序中導入作為模塊使用

Ⅳ python中的__name__ =="__main__"是什麼意思呢

__name__是指示當前py文件調用方式的方法。如果它等於"__main__"就表示是直接執行,如果內不是,則用容來被別的文件調用,這個時候if就為False,那麼它就不會執行最外層的代碼了。
比如你有個Python文件裡面
def XXXX():
#body
print "asdf"
這樣的話,就算是別的地方導入這個文件,要調用這個XXXX函數,也會執行print "asdf",因為他是最外層代碼,或者叫做全局代碼。但是往往我們希望只有我在執行這個文件的時候才運行一些代碼,不是的話(也就是被調用的話)那就不執行這些代碼,所以一般改為
def XXXX():
#body
if __name__="__main__":
print "asdf"

Ⅳ python中是什麼執行程序的,執行main

python是使用python解釋器來運行的,如果是以模塊的方式運行,它會按照代碼在文件中的順序來執行程序

if__name__=='__main__':
pass

上面這樣可以寫出只以當前模塊運行的程序,如果是被外部程序引入,則不執行裡面的代碼。

Ⅵ python中main()可不可以換成別的名字

- - 樓上……
==========================
完全不需要。你可以換成你喜歡的名字。

由於python是以縮進來判斷程序段,完全不需要main來指導程序首先執行模塊。
對於任意一個py文件(也是模塊),在執行或者import的時候會自動執行沒有縮進的代碼。這部分代碼就相當於main了。

一般,一個py文件(模塊),按找一下順序:首先是文字編碼說明和注釋,然後是各種類和方法的定義(def 、class),最後是沒有縮進的部分,也就是導入時自動執行的部分。你可以把這個模塊的一些初始化的代碼加入其中。

python唯一涉及main的地方(和你問的main完全不是一個意思)是判斷模塊是直接運行還是導入運行。區別在於內置屬性__name__。當一個模塊是直接運行時,__name__就等於__main__,如果它是作為一般模塊被導入時,__name__就是模塊本身的名字。

python中常常在模塊中定義一個測試用的方法test(),在需要測試的時候調用mole.test()測試用。但是,在最後常常有以下代碼,這部分和其他語言的main()是一個意思:
if __name__ == '__main__':
_test()

也就是在執行的時候調用test方法。所以對於python而言,根本不需要main(),只要把要調用的方法換成你自己的主程序名字的可以了,而名字可以是任意名字!
在調用這個程序時:
#>python myfile.py
就會執行滿足條件,執行代碼。(注意這里#>指linux下的root許可權,windows在命令提示行下則是c:\program files\python26>這樣的提示符。)
如果是
>>>import myfile 則不會。(這里>>>是在python裡面輸入)

綜上,正常的python裡面根本沒有main(),不知道你從哪裡看到的。
希望你繼續使用python,這是一致簡潔方便規范的語言!

Ⅶ python 怎麼寫main 函數

print'main'當腳本作為執行腳本時__name__的值為__main__當腳本作為模塊時__name__為模塊文件名。

Ⅷ python中的「__name__ =="__main__"」是什麼意思

__name__是指示當前py文件調用方式的方法。如果它等於"__main__"就表示是直接執行,如果不是,則用來被別的文件調用,這個時候if就為False,那麼它就不會執行最外層的代碼了。
比如你有個Python文件裡面
def XXXX():
#body
print "asdf"
這樣的話,就算是別的地方導入這個文件,要調用這個XXXX函數,也會執行print "asdf",因為他是最外層代碼,或者叫做全局代碼。但是往往我們希望只有我在執行這個文件的時候才運行一些代碼,不是的話(也就是被調用的話)那就不執行這些代碼,所以一般改為
def XXXX():
#body
if __name__="__main__":
print "asdf"

Ⅸ 如何理解python中的main函數

這個腳本被執行的時候,__name__ 值就是 __main__ ,才會執行 main()函數 如果這個腳本是被 import 的話,__name__的值不一樣。main()函數就不會被調用。 這個句子用來寫既能直接運行,又能給其他python程序import,提供庫調用的腳本