[问题] 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