[問題] if__name__=='name'問題

作者: yimean (溫柔殺手)   2020-01-29 23:37:44
各位版上的大大晚上好。
小弟在網路上看到一個時間比較的程式,想說要把它改成可以import的檔案。
方便引用
修改後的程式如下
import time
def compare_time(time1,time2):
s_time = time.mktime(time.strptime(time1,'%Y-%m-%d'))
e_time = time.mktime(time.strptime(time2,'%Y-%m-%d'))
print ('s_time is:',s_time)
print ('e_time is:',e_time)
return int(s_time) - int(e_time)
if __name__=='__name__':
result = compare_time('2017-04-23','2017-04-21')
print ('the compare result is:',result)
這個程式在沒有加if __name__=='__name__':
這一行之前都可以Run出結果
加了之後在IDE下執行什麼都沒有跑出來,也沒有錯誤
請問我是不是誤會了什麼?懇請大大指導。感恩。
作者: ddavid (謊言接線生)   2020-01-29 23:46:00
你確實是誤會了什麼,基本上google一下"python __name__"就有詳細的說明囉而且就算要加的話,一般是:if __name__ == '__main__':用來區別這段script是被import還是被直接執行的如果是直接執行的,__name__的值就會是"__main__"如果是被import的,__name__的值就會是這個module名稱這是方便開發者可以在module裡面有一些可直接執行、但被當別人import的情況不想要執行的code,例如一些測試code或直接要執行的功能就可以用__name__的值來分辨該不該被執行
作者: yimean (溫柔殺手)   2020-01-30 19:41:00
原來如此,感恩大大
作者: WPC001 (好悶, 迷惘~~)   2020-01-30 23:58:00
應該是if __name__ == '__main__':吧...
作者: yimean (溫柔殺手)   2020-01-31 18:23:00
@W大大,對阿,現在看起來有點蠢哈哈。

Links booklink

Contact Us: admin [ a t ] ucptt.com