ga('set', 'anonymizeIp', 1);
在一些python程式碼中常常會看到__name__==”__main__”這段,這是代表什麼意思呢?
在多檔案的程式架構中,函式被重複使用的機率相當高,這時候就要對主程式跟函式分清楚了。
在python中常常可以看到以下這段,他代表什麼意思呢?
if __name__ == "__main__":
_A()
這邊我們用兩支程式來打個比方,
分別叫做 programA.py 與 programB.py。
programA.py:
def _A():
print("AAA")
print("using program A")
_A()
programB.py:
from programA import _A
print("using program B")
_A()
看完以上兩支程式,
我們先使用command line執行programA.py,
可以得到以下結果。
using program A
AAA
再來,我們執行programB.py。
using program A
AAA
using program B
AAA
上面可以發現,在執行programB.py時,
在引用的過程就先執行一遍programA.py的程式碼了,
所以為了避免發生此情況,
我們要了解python程式的基礎執行方式。
由上方的介紹,我們就可以利用__name__的特性來讓某些程式獨立執行。
我們將programA.py修改如下:
def _A():
print("AAA")
if __name__=="__main__":
print("using program A")
_A()
如此修改,就可以避免呼叫時重複執行的情形發生。