在Python当中遇到一段代码:if __name__ == '__main__' ,那么这段代码到底是什么意思呢?
先准备两个py文件,t1.py和t2.py
具体可以看以下示例:
t1.py:
# t1.py def run(): print("first:'%s' " % __name__)
执行结果:first:'__main__'
t2.py:
import t1 print("second: '%s'" %__name__)
执行结果:
first:'t1'
second: '__main__'
在t2.py文件中导入t1.py,那么进行打印时,则也会先执行t1.py中代码,然后才执行t2.py中的代码。
那么,下面的这个结果:
t1.py:
def run(): print("first:'%s' " % __name__) def func(): print("hello world") if __name__ == '__main__': run()
执行结果: first:'__main__'
t2.py:
import t1 print("second: '%s'" %__name__)
执行结果: second: '__main__'
上述t2.py中没有执行t1.py中代码,这是因为t1.py中存在了“if __name__ == '__main__': ”,那么我们再看下面的示例:
t1.py:
def run(): print("first:'%s' " % __name__) def func(): print("hello world") if __name__ == '__main__': run() else: func()
执行结果: first:'__main__'
t1.py中只执行了run()函数。这是因为存在if __name__ == '__main__':
那么,将这个t1.py导入t2.py中会产生怎么样的效果呢?
import t1 print("second: '%s'" %__name__)
执行结果: hello world
second: '__main__'
可以看出,执行t2.py,t1.py中只要在if __name__ == '__main__':判断语句中代码不执行。
那么,这个if __name__ == '__main__':的作用可以知晓了把!
标签:__,name,python,py,t1,print,main From: https://www.cnblogs.com/shaoyishi/p/16767953.html