python文件中的__name__=='__main__'的使用及调用其他py文件中的函数方法
来源:互联网 发布:qt linux sleep头文件 编辑:程序博客网 时间:2024/03/29 13:18
最近学习python的时候经常会看到好多py文件中都有if _name_ == ‘_main_‘: 这句话,所以就花点儿时间来研究一下,总结了一下使用方法及原则。
平时我们使用python IDE编写py程序的时候 一般是很少用到if name == ‘main‘:这句话的,因为我们在运行py文件时,没有牵扯到其他目录下自定义的py文件,所以不用写这句话就可以无忧地执行当前py文件中的函数,但 想想 如果要是需要调用其他的py文件中的自定义函数呢?这就需要使用if name == ‘main‘:了。
举例:
def a(x): return x*2if __name__=="__main__": print a(2) #print 4
这里使用的单文件运行,输出为4;并且这里使用了 if name==”main“: (如果不使用这句话,输出效果是一样的)
如果在test1.py文件中定义了一个函数a,想要在test2.py文件中调用a函数,这时候就需要if name==”main“:了。
举例说明:
test1.py
def a(x): return x*2if __name__=="__main__": print a(2)
test2.py
from test1 import *print a(3) #6
这里在test2中调用test1中自定义函数a,输出结果为6。
这里如果在test1中没有使用if name==”main“:这句话,则输出结果中会多出一次计算结果,原因是如果没有if name==”main“:则test2中会对该文件中的可执行语句都会执行(相当于没有main函数)。如果有if name==”main“:的话,相当于判断一下test1文件是否是单独执行的test1文件还是在其他文件中调用的自定义函数,这里的例子就是第二种情况了,所以在if name==”main“:下面的语句就不会执行。
另外,这里也讲讲如何在另一个文件中调用当前文件中的自定义函数?
例如,需要在python文件a中调用同级目录test文件夹中的b文件中的c()自定义函数,如何在a文件中实现?
from test.b import * #从文件路径为test.b的文件中导入所有的函数c( ) #调用b文件中的c函数
- python文件中的__name__=='__main__'的使用及调用其他py文件中的函数方法
- Python 中的name 及__name__="__main__"
- 关于python函数中的if __name__ =="__main__"语句
- python---引用其他py文件中的函数
- python中的__name__ =="__main__"
- python中的if __name__=='__main__'的作用
- 关于python中的 if __name__=='__main__': 的作用
- python文件中 if __name__ == '__main__': 的作用
- python文件中 `if __name__ == '__main__':` 的作用
- 调用其他文件py文件的函数
- python中的__name__ == "__main__" 有什么作用?
- 理解Python中的if __name__=='__main__'
- python中的__name__ =="__main__"是什么意思呢
- 如何理解Python 中的 if __name__ == '__main__'
- Python 中的 if __name__ == '__main__' 该如何理解
- Python 中的 if __name__ == '__main__' 该如何理解
- 关于python中的if __name__==‘__main__’:
- python中的if __name__ == '__main__'有什么用
- CentOS 7 下安装 Redis 2.8.7
- XML example with RESTEasy + JAXB
- js要入门?
- OGG安装配置文档
- Android studio中正确引入so文件的方法
- python文件中的__name__=='__main__'的使用及调用其他py文件中的函数方法
- uva 10084 - Hotter Colder(多边形切割)
- Tigase开发笔记6:packet流转机制 -> 一条消息(packet)的请求和响应过程解析
- JSON example with Jersey + Jackson
- 架构师好比两面神
- Apache与Tomcat有什么关系和区别
- 数据结构学习之路-第二章:静态单链表
- 桥设备透传802.1x报文
- uva 12307 - Smallest Enclosing Rectangle(旋转卡壳)