Python属性简介__name__
生活随笔
收集整理的這篇文章主要介紹了
Python属性简介__name__
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
模塊是對象,并且每個模塊都有一個內置屬性__name__。
當一個模塊被直接運行的時候,該模塊__name__的值就等于缺省的’__ main__’。
如果一個模塊被import ,那么這個被引入模塊__name__的值就等于該模塊名,也就是文件名去掉py擴展名的部分。
也就是說__name__的值表明了當前py文件調用的方式,因此可以用if __ name__ == '__ main__'來判斷是否是在直接運行該.py文件。
示例:test.py
# -*- coding: utf-8 -*- def sample():print "test is running" if __name__ == "__main__": # 自運行時調用該程序塊print "test main is working" if __name__ == "test": # import時調用該程序塊print "test is invoked"直接執行:
>python test.py test main is workingimport執行:
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' >>> import test test is invoked >>> >>> test.__name__ 'test' >>> >>> dir() ['__builtins__', '__doc__', '__name__', '__package__', 'test'] >>> >>> dir(test) ['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'sample'] >>> >>> __name__ '__main__' >>> >>> show = test >>> show.sample() test is running >>>__ name__屬性可以應用在代碼重用、測試模塊、基類、等等方面
比如想利用一個py文件中的函數:
可以在此py文件中加上if __ name__ == "__ main__"這句代碼,然后import這個py文件就可以調用其中的函數了。
總結
以上是生活随笔為你收集整理的Python属性简介__name__的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浅谈Python的编译与反编译
- 下一篇: python基础对list的增删查改和列