关于Python中if __name__ == "__main__"的理解
2018-03-20 22:00
781 查看
关于Python中if __name__ == "__main__"的理解:
在学习Python语言中,遇到了if __name__ == "__main__"的理解,查阅了网上的一些资料和加上自己的理解,对该语句首先从该.py文件的直接运行到该.py文件被其他.py文件通过import等语句导入分析,然后在从私有化方面进行理解。
第一步:我们首先创建两个.py文件,名字分别为:testOne.py和testTwo.py文件。
testOne.py内容为:
def testOne():
print("testOne方法执行")
if __name__ == "__main__":
testOne()
else:
print("testOne方法被该模块导入")testTwo.py文件内容为:
import testOne
def testTwo():
print("测试testTwo方法执行")
testOne.testOne() #调用testOne.py文件下的testOne()方法
if __name__ == "__main__":
testTwo()第二步:分别执行testOne.py文件和testTwo.py文件
1. testOne.py文件显示内容:
2. testTwo.py文件显示内容:
第三步:分析第二步为什么会这样显示编译结果,if __name__ == "__main__"的语句的作用到底是什么?
当我们会想C语言时,C语言有一个main()函数作为程序的入口,则程序一个会从main()函数开始逐行执行,进行编译。对于Python语言的理解,if __name__ == "__main__"是为了判断本文件(即模块)是相当于C语言的主程序main()作为入口进行执行,还是该模块被其他程序import。
1.直接运行testOne.py文件时,显示如第二步1所示内容
当编译本文件时,if __name__ == "__main__"是为了判断本文件(即模块)是相当于C语言的主程序main()作为入口进行执行
2.直接运行testTwo.py文件时,显示如第二步2所示内容
该模块被其他程序(testTwo.py文件)import时,if __name__ == "__main__"中的方法不会被执行,会执行else:下的内容
[注]上图的else:下内容可以参考第一步中testOne.py的完整程序。第四步:if __name__ == "__main__"的另一种理解,即把 if __name__ == "__main__":下代码块当做为私有化部分,只有本文件被执行时,才会执行该内容,当本文件被调用(import)时,不会对其他模块显示,即此代码块不对其他模块看见。总结:此为自己的理解,如有不足的地方,在下面留言,我会及时修改。我们共同学习,共同进步。一起加油!!!!
注:该程序的编写是在PyCharm软件下编译的。
在学习Python语言中,遇到了if __name__ == "__main__"的理解,查阅了网上的一些资料和加上自己的理解,对该语句首先从该.py文件的直接运行到该.py文件被其他.py文件通过import等语句导入分析,然后在从私有化方面进行理解。
第一步:我们首先创建两个.py文件,名字分别为:testOne.py和testTwo.py文件。
testOne.py内容为:
def testOne():
print("testOne方法执行")
if __name__ == "__main__":
testOne()
else:
print("testOne方法被该模块导入")testTwo.py文件内容为:
import testOne
def testTwo():
print("测试testTwo方法执行")
testOne.testOne() #调用testOne.py文件下的testOne()方法
if __name__ == "__main__":
testTwo()第二步:分别执行testOne.py文件和testTwo.py文件
1. testOne.py文件显示内容:
2. testTwo.py文件显示内容:
第三步:分析第二步为什么会这样显示编译结果,if __name__ == "__main__"的语句的作用到底是什么?
当我们会想C语言时,C语言有一个main()函数作为程序的入口,则程序一个会从main()函数开始逐行执行,进行编译。对于Python语言的理解,if __name__ == "__main__"是为了判断本文件(即模块)是相当于C语言的主程序main()作为入口进行执行,还是该模块被其他程序import。
1.直接运行testOne.py文件时,显示如第二步1所示内容
当编译本文件时,if __name__ == "__main__"是为了判断本文件(即模块)是相当于C语言的主程序main()作为入口进行执行
2.直接运行testTwo.py文件时,显示如第二步2所示内容
该模块被其他程序(testTwo.py文件)import时,if __name__ == "__main__"中的方法不会被执行,会执行else:下的内容
[注]上图的else:下内容可以参考第一步中testOne.py的完整程序。第四步:if __name__ == "__main__"的另一种理解,即把 if __name__ == "__main__":下代码块当做为私有化部分,只有本文件被执行时,才会执行该内容,当本文件被调用(import)时,不会对其他模块显示,即此代码块不对其他模块看见。总结:此为自己的理解,如有不足的地方,在下面留言,我会及时修改。我们共同学习,共同进步。一起加油!!!!
注:该程序的编写是在PyCharm软件下编译的。
相关文章推荐
- 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__"用法
- 对Python的if __name =="__main__"一些理解
- Python 中的 if __name__ == "__main__" 该如何理解
- python 关于 if __name__ == “__main__" 的使用
- 从python run 和python unittest两种eclipse运行方式深入理解if __name__ == "__main__"
- Python 关于 name main的使用 if __name__ == '__main__':
- 【Python】|(转)if __name__ == "__main__"详细解释
- Python 中的 if __name__ == '__main__' 该如何理解
- 【Python学习笔记】关于if __name__ == '__main__'
- PYTHON里if __name__ == "__main__":解释
- python中 if __name__ == '__main__': 的理解
- 理解Python中的if __name__=='__main__'
- Python 中的 if __name__ == '__main__' 该如何理解
- python:if __name__== "__main__" 的意思(作用)