python中的__main__

什么是__name__?

在说明__main__之前,先说明__name__
当一个模块或者一个包被导入到python中是
name 指出它的名字:
(1) 当导入的是一个包时,__name__是包的名字去掉,py后缀
(2)当导入的模块是某个包的一部分时,name__是该模块的名字并且包含该模块在包中的路径
(3)若模块在”顶层代码环境“中运行,则__name__被设置为__main

什么是"顶层代码环境"?

“顶层代码”是指由用户指定的最先开始运行的那一个 Python 模块。之所以它是“顶层”,是因为它将导入程序所需的所有其它模块。有时“顶层代码”被称为应用程序的 入口点。

什么是__main__?

在Python中,main 是一个特殊的名称,用于指代当前运行的脚本。它的主要用途是在脚本被直接执行时执行某些代码,而在脚本被导入为模块时不执行这些代码。

具体来说,当Python解释器运行一个脚本时,它会将特殊变量__name__设置为"main"。如果这个脚本被作为模块导入到其他脚本中,__name__的值将是模块的名称,而不是"main"。

这种机制允许你在一个脚本中包含一些测试代码或示例代码,这些代码只有在脚本被直接执行时才会运行,而在脚本被导入为模块时不会运行。

举例

# example.py

def main():
    print("This is the main function.")

if __name__ == "__main__":
    main()

在这个例子中,如果你直接运行example.py,输出将是:
This is the main function.

但是,如果你在另一个脚本中导入example.py:

# another_script.py

import example

那么example.py中的main()函数将不会被执行,因为__name__的值将是"example",而不是"main"。

后注

这种模式非常有用,特别是在开发和测试过程中,它允许你在模块中包含一些测试代码,而不影响模块的导入和使用。

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值