Python Note

1:  __name of one module

#hello.py
def sayHello():
str
="hello"
print(str);

if __name__ == "__main__":
print ('This is main of module "hello.py"')
sayHello()
複製代碼

python作爲一種腳本語言,我們用python寫的各個module都可以包含以上那麼一個類似c中的main函數,只不過python中的這種__main__與c中有一些區別,主要體現在:

1、當單獨執行該module時,比如單獨執行以上hello.py: python hello.py,則輸出

    

This is main of module "hello.py"
hello

    可以理解爲"if __name__=="__main__":" 這一句與c中的main()函數所表述的是一致的,即作爲入口;

2、當該module被其它module 引入使用時,其中的"if __name__=="__main__":"所表示的Block不會被執行,這是因爲此時module被其它module引用時,其__name__的 值將發生變化,__name__的值將會是module的名字。比如在python shell中import hello後,查看hello.__name__:

>>> import hello
>>> hello.__name__
'hello'
>>>

3、因此,在python中,當一個module作爲整體被執行時,moduel.__name__的值將是"__main__";而當一個 module被其它module引用時,module.__name__將是module自己的名字,當然一個module被其它module引用時,其 本身並不需要一個可執行的入口main了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章