Python if __name__ == ‘__main__‘

(1) “__name__” 是内置变量,用于表示当前模块的名字,同时还能反映一个包的结构。
(2)如果一个模块被直接运行,则其没有包结构,其 “__name__ ”值为“ __main__”.

  • 理解1:简单理解
    如果模块是被直接运行的,则代码块被运行,如果模块是被导入(import)的,则代码块不被运行。
  • 理解2:模拟的程序入口
    对于很多编程语言来说,程序都必须要有一个入口,比如 C,C++,都需要有一个main 函数来作为程序的入口。

Python 则不同,它属于脚本语言,不像编译型语言那样先将程序编译成二进制再运行,而是动态的逐行解释运行。也就是从脚本第一行开始运行,没有统一的入口。(define的内容并不会被执行,只有被调用了才会执行)
if __name__ == ‘__main__’ 就相当于是 Python 模拟的程序入口。Python 本身并没有规定这么写,这只是一种编码习惯。由于模块之间相互引用,不同模块可能都有这样的定义,而入口程序只能有一个。到底哪个入口程序被选中,这取决于 __name__ 的值。
https://blog.konghy.cn/2017/04/24/python-entry-program/

  • 理解3:代码私有化

编写私有化部分 ,这句代码以上的部分,可以被其它的调用,以下的部分只有这个文件自己可以看见,如果文件被调用了,其他人是无法看见私有化部分的(也就是无法执行)
https://www.zhihu.com/question/49136398

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值