python中__name__的意義

來源:互聯網
上載者:User

標籤:port   系統   變化   def   imp   直接   repr   顯示   main   

首先定義了一個test.py的檔案,然後再定義一個函數,並在函數定義後直接運行:

test.pydef HaveFun():    if __name__ == ‘__main__‘:        print(‘I am in my domain,my name is %s‘ % __name__)    else:        print(‘Someone else calls me!,my name is %s‘ % __name__)HaveFun()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

運行test.py結果:

I am in my domain,my name is __main__
  • 1

然後繼續建立一個main.py的檔案,程式如下:

main.pyimport test   test.HaveFun()
  • 1
  • 2
  • 3
  • 4
  • 5

執行main.py檔案,結果如下:

Someone else calls me!,my name is testSomeone else calls me!,my name is test

這裡列印了兩次,第一次實在main.py在進行import test的時候,進行的列印,第二次才是test.HaveFun()中執行的列印,可以發現,這裡的
__name__名稱已經發成了變化,從之前的main變成了模組名稱test。

總結:

1、__name__這個系統變數顯示了當前模組執行過程中的名稱,如果當前程式運行在這個模組中,__name__ 的名稱就是__main__如果不是,則為這個模組的名稱。
2、__main__一般作為函數的入口,類似於C語言,尤其在大型工程中,常常有if __name__ == "__main__":來表明整個工程開始啟動並執行入口。

python中__name__的意義

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.