一. if __name__ == '__main__':的作用
if __name__ == '__main__':的作用其实是用来判断运行的程序是否是主程序。
具体来说就是当一个python文件被直接运行时,其内置变量__name__ 的值就会被设置成'__main__',当这个文件被另一个文件作为模块使用时,__name__的值就会被设置成这个文件的模块名。
# mymodule.pydef my_function():print("Hello from my_function!")if __name__ == '__main__':# 这里的代码只有在直接运行 mymodule.py 时才会执行print("mymodule.py is being run directly")my_function()
else:# 这里的代码只有在 mymodule.py 被导入为模块时才会执行(但在这个例子中不会执行)print("mymodule.py has been imported into another module")
这段代码直接运行输出将是:
mymodule.py is being run directly
Hello from my_function!
但是,当在另一个文件里面导入这个文件时。
# anothermodule.pyimport mymodulemymodule.my_function()
输出的代码就是:
Hello from my_function!
说白了就像c语言,让其他程序都要在这个主程序里面调用运行。
