首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >if __name__ == '__main__'的用法

if __name__ == '__main__'的用法

原创
作者头像
薛定谔的馋猫
发布2024-10-22 23:50:54
发布2024-10-22 23:50:54
2400
举报

示例代码app.py

代码语言:txt
复制
def fun1():
    print('hello')


print(__name__)
if __name__ == '__main__':
    fun1()

执行app.py时,输出为:

__main__

hello

解释:当执行当前文件app.py时,__name__是Python内部创建的一个变量__name__ = "__main__",此时因为是直接执行当前文件,所以if判断为true,则执行fun1()并输出hello

示例代码import_app.py

代码语言:txt
复制
from app import fun1


def fun2():
    print('测试fun2')
    fun1()


print(__name__)
if __name__ == '__main__':
    fun2()

直接执行import_app.py时,输出为:

app

__main__

测试fun2

hello

解释:

(1)当导入app.py时,加载app.py时__name__ = "app",if判断结果为false,所以导入app.py时if __name__ =="__main__"后面的fun1()函数不会被执行;

(2)因为当前文件执行的是import_app.py,此时当前文件的__name__ ="__main__",if判断结果为true,所以在当前文件中

if __name__ =="__main__"后面的fun2()函数会被执行;

总结:

1、当运行当前脚本时,Python内部创建的一个变量__name__ = "__main__"

2、如果当前的脚本,是被别人导入执行的,Python内部创建的一个变量__name__ = "app" (app为被导入模块文件名)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 示例代码app.py
  • 示例代码import_app.py
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档