系统( Python 口译员) 提供源文件( 模块) 的变量。 您可以随时获得源文件的值, 因此, 让我们集中关注- 名称 - 名称 - 名称变量/属性 :
当 Python 装入源代码文件时, 它会执行其中的所有代码 。 (注意它不会调用文件中定义的所有方法和函数, 但是它会定义它们 。 )
在口译员执行源代码文件之前,它为该文件定义了几个特殊变量;- 名称 - 名称 - 名称是 Python 为每个源代码文件自动定义的特殊变量之一。
如果 Python 正在装入此源代码文件作为主程序( 即您运行的文件) , 它会设置特殊- 名称 - 名称 - 名称此文件有值的变量"... main..." "... main...".
如果这是从另一个模块导入的,- 名称 - 名称 - 名称将设定为该模块的名称。
所以,在你的部分例子中:
if __name__ == "__main__":
lock = thread.allocate_lock()
thread.start_new_thread(myfunction, ("Thread #: 1", 2, lock))
thread.start_new_thread(myfunction, ("Thread #: 2", 2, lock))
意思是代码块:
lock = thread.allocate_lock()
thread.start_new_thread(myfunction, ("Thread #: 1", 2, lock))
thread.start_new_thread(myfunction, ("Thread #: 2", 2, lock))
只有当您直接运行模块模块时才会执行;如果另一个模块正在调用/导入代码块,代码块将不执行,因为- 名称 - 名称 - 名称" 等于 " 等于 " 等于 " 等于 " 等于 " 等于 " 等于 " 等于 " 等于 " 等于 " 等于 "主要" 在此特定情况下。
希望这能帮上忙