首頁 > 後端開發 > Python教學 > Python中的main方法怎麼使用

Python中的main方法怎麼使用

王林
發布: 2023-05-05 13:25:06
轉載
3165 人瀏覽過

正文開始

if name == "main":可以看成是python程式的入口,就像java的main()方法,但不完全正確。

事實上python程式是從上而下逐行運行的,在.py檔案中,除了def後定義函數外的程式碼都會被認為是「main」方法中的內容從上而下執行。如果只是寫個偉大的"hello world",不想寫函數的話,僅僅是print(‘hello world’)就可以,這就是一個“程序”,不需要所謂的“main”方法入口。當然如果是測試函數功能就需要在.py檔中寫上if name == "main",再呼叫函數。

例如如下hello.py檔:

print("first")
 
 
def sayHello():
    str = "hello"
    print(str);
    print(__name__+'from hello.sayhello()')
 
 
if __name__ == "__main__":
    print ('This is main of module "hello.py"')
    sayHello()
    print(__name__+'from hello.main')
登入後複製

 運行結果:

first
This is main of module "hello.py"
hello
__main__ from hello.sayhello()
__main__ from hello.main
登入後複製

懂我意思吧?先執行的第一行print再執行「入口」中的東西

話說回來,if name == "main"這句話是個什麼意思呢?

name__其實是內建屬性,指示目前py檔案呼叫方式的方法。當上述例子運作的時候,整個程式中不管是哪個位置的__name__屬性,值都是__main,當這個hello.py檔案作為模組被導入到另一個.py檔案中(即import)比如說world .py,而你執行的是world.py,此時hello.py中的__name__屬性就會變成hello,所謂的入口因為if判斷失敗就不執行了

所以if語句的判斷成功虛擬了一個main()方法。

說到了phthon是逐行執行的,所以當它讀到import hello的時候,也會執行hello.py,例如運行如下world.py檔:

import hello#上一个例子的hello.py
 
if __name__ == "__main__":
    print ('This is main of module "world.py"')
    hello.sayHello()
    print(__name__)
登入後複製

執行結果:

first
This is main of module "world.py"
hello
hellofrom hello.sayhello()
main
登入後複製

可以看到hello.py中的第一行print(‘first’)直接被執行了,並且hello.py中的__name__輸出的也是hello,world.py中的name輸出的是__main__

#

以上是Python中的main方法怎麼使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板