if __name__ == '__main__'的理解
来源:互联网 发布:如何清除mac桌面图标 编辑:程序博客网 时间:2024/05/29 02:24
转载
Python代码和看Python代码时,我们常常可以看到这样的代码:
def main(): ...if __name__ == '__main__': mian()
name,
如果是放在Modules模块中,就表示是模块的名字;
如果是放在Classs类中,就表示类的名字;
main的含义
python代码,是可以直接一行行写出来,然后去运行,更多的Python代码,是写成更加通用的,可以被调用的,可以重复利用的,模块的形式;所以都是写在对应的函数里面的。
**模块第一次被导出(import)后,系统会自动为其创建一个域名空间(namespace);
(模块,都是有自己的名字的)此处的脚本的主模块的名字,始终都叫做main。**
详细解释if name == ‘main‘:
mymath.py
运行结果:
将自己写的有条理可复用的函数,放在一个专门的文件中,被别人调用
模板文件 mymath.py
然后别的python文件__name___and___main__.py
中,导入此mymath模块,然后使用其square函数:
结果
可以看到出现了用于在mymath.py中的打印结果 test: square(42) == 1764
明显的,我作为模块调用者是不想看到的
我们希望:
模块mymath.py本身,希望有自己的相关的调试的代码
但是又不希望在被别的,本模块的调用者,所执行到,所看到
所以修改mymath.py
mymath.py本身,自己运行,调试,验证自己的函数square执行的是否正确:
__name___and___main__.py
,在import mymath的时候,也不会看到对应的代码执行的结果了:
其中的__main__
,就是:
脚本自己去运行的话,对应的模块名,始终叫做__main__
,mymath.py中的name就是所在模块的名字
如果被当做一个模块被别人调用的时候,对应的模块mymath.py的模块名,就是mymath,
不是__main__
了,
只有在直接引用的时候,在自己的模板中 mymath.py = __main__
作为模板,被程序导入时,模板名就是本身的文件名
- if __name__ == '__main__' 的理解
- if __name__ == '__main__'的理解
- 理解if __name__ == "__main__":
- if __name__ == '__main__' 深入理解
- 如何理解if __name__ == '__main__':
- python 中 if __name__ == "__main__" 的理解
- python中 if __name__ == '__main__': 的理解
- 对if __name__ == "__main__":的理解
- Python中if __name__ == '__main__':的理解
- 对于Python中if __name__=='__main__' 的理解
- Python中if __name__=="__main__"的理解
- Python 的 if __name__ == '__main__' 该如何理解
- if __name__ == "__main__"的用法
- “if __name__ == “__main__””的作用
- if __name__ == '__main__':的作用
- if __name__ == '__main__': 的意义
- if __name__ == "__main__" 的意义:
- if __name__ == '__main__': 的用法
- 长短时记忆网络(LSTM)基础
- 通过SSH登陆国外服务器
- 长短时记忆网络(LSTM)的训练
- Dangerously Set innerHTML
- 递归神经网络
- if __name__ == '__main__'的理解
- bootstrap-table行内编辑表格的实现
- Apache POI for Microsoft Office
- 排它平方数
- ADC0832作AD转换及串口显示程序
- leetcode练习 Kth Smallest Element in a Sorted Matrix
- 消息队列activemq小测试
- spring通过xml方式配置AOP时,提示错误信息:匹配的通配符是严格的,但是对于元素'aop:aspectj- 自动代理”。
- getParameter 与 getAttribute的区别