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