This post was updated 823 days ago and some of the ideas may be out of date.

作为一个Python新手,看到别的大佬写Python老是有 if __name__ == 'main' :

if __name__ == '__main__':

    num = Value('i', 0)
    lock = Lock()

于是搜了一下原因:

原因:

如果你只是写一个Python单文件,if name == 'main': 里面的内容正常执行没有变化

如果你在其他的Python里面import进这个文件,那么if name == 'main': 里面的内容将不会执行!

原理:

__name__ 和 __main__ 作为Python的保留词,当单文件直接执行时,__name__ 就等于 __main__

JuanyiBlog.py:

print(__name__)

输出:__main__

当一个Python文件import这个文件, __name__ 就等于被Import 的 Python文件的文件名(不带.py)

Others.py:

import JuanYiblog

输出:JuanYiblog

既然__name__ 不等于__main__ ,自然if name == 'main 里面的代码不会运行!