python中如何理解if __name__ == '__main__'
2024-08-30 19:07:04
__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。我们通过一个简单的例子来理解为什么要使用该语句:
假设我们有一个C.py文件
PI = 3.14
def main():
print "PI:", PI
main()
main()函数相当于最后检查一遍,运行后输出:
PI: 3.14
我们现在有一个area.py文件,用于计算圆面积,需要用到C.py文件中的PI变量
from C import PI
def calc_round_area(radius):
return PI * (radius ** 2)
def main():
print "round area: ", calc_round_area(2)
main()
运行area.py,输出结果
PI: 3.14
round area: 12.56
我们发现C中的main函数也被运行了,但是实际上我们只希望得到圆面积的结果,于是更改C.py文件
PI = 3.14
def main():
print "PI:", PI
if __name__ == "__main__":
main()
然后运行area.py,输出如下:
round area: 12.56
这才是我们要的结果。
最新文章
- 实现Div拖拽
- 烂泥:使用nginx利用虚拟主机搭建WordPress博客
- SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.0
- 博客建议(Suggestions)
- java 笔记(1)-—— JVM基础,内存数据,内存释放,垃圾回收,即时编译技术JIT,高精度类型
- POJ 1650
- android菜鸟学习笔记7----android布局(二)
- Android 镜像地址[持续更新中]
- 定时器内部的this
- ie浏览器提交参数和其它浏览器的区别
- EntityFramework批量Insert
- W3CSchool闯关笔记(JQuery)
- pycharm的list中append的应用
- C++数论板题(弹药科技):Lengendre定理和欧拉函数
- Android R文件介绍
- 基于Eclipse搭建hadoop开发环境
- 基于CommonsCollections4的Gadget分析
- QT4.8.6之qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
- POJ--2570--Fiber Network【floyd+位运算】
- 收藏Linux命令
热门文章
- vuex相关(actions和mutation的异曲同工)
- 零基础入门学习Python(11)--列表:一个打了激素的数组(2)
- stark组件之添加、修改页面内容搭建(七)
- insert,extend
- form 表单onclick事件 禁止表单form提交
- Mybatis 处理日期格式自动转换
- java中检测-在运行时指定对象是否是特定类的一个实例---关键字 instanceof
- zset(sorted set:有序集合)数据类型【八】
- Linux下汇编语言学习笔记22 ---
- UVA 11400_ Lighting System Design