python程序中if __name__ == '__main__':的作用。

首先先用代码来看__name__的作用  

 1 ModuOne.py被调用程序
 2
 3 def MethodOne (varone):
 4     print(__name__)
 5     print(varone)
 6
 7 MethodOne("程序测试")
 8
 9 C:\python ModuOne.py                #可以看到直接运行ModuOne.py时__name__被打印成“__main__”
10  __main__
11  程序测试                           #函数测试被执行
12
13
14 zuma.py主程序
15
16 from ModuOne import MethodOne      #调用模块中的方法
17 print(__name__)
18 MethodOne("主程序")
19
20 C:\python zuma.py                   #执行主程序时因为from导入时会现在执行一遍ModuOne.py程序
21  ModuOne                           #但这里ModuOne程序的__name__被打印成了被调用程序名
22  程序测试                           #而且ModuOne中的测试也被调用出来了
23  __main__
24  ModuOne
25  主程序

从上面例子中可以看出在执行本程序中__name__会等于“main”而被调用时__name__会等于被调用的程序名。

接下来在看一下if __name__ == ‘__main__‘:使用例子

 1 ModuOne.py被调用程序
 2
 3 def MethodOne (varone):
 4     print("ModuOne in name:", __name__)
 5     print(varone)
 6 if __name__ == ‘__main__‘:
 7     MethodOne("程序测试")
 8     print("测试打印__name__:", __name__)
 9
10 C:\python ModuOne.py
11   ModuOne in name: __main__        #执行过程中if语句判断name等于‘main’所以执行MethodOne函数
12   程序测试                          #print打印也被执行了
13   测试打印__name__: __main__
14
15
16 zuma主程序
17
18 from ModuOne import MethodOne
19 MethodOne("主程序测试")
20
21 C:\python zuma.py                    #ModuOne程序加入if语,在执行主程序
22   ModuOne in name: ModuOne          #只执行了ModuOne程序中的MethodOne函数,而if语句下面的的则没执行
23   主程序测试

通过上面例子可以看出给程序增加if __name__ == ‘__main__‘:语句后程序测试调用更加灵活。

python程序中if __name__ == '__main__':的作用。

时间: 2025-01-16 03:07:45

python程序中if __name__ == '__main__':的作用。的相关文章

Python中 if __name__ == '__main__' 的作用

Python文件可以直接运行,也可以 import 到其它文件中使用 if __name__ == '__main__' 就是控制代码在这两种情况下的执行过程 每个Python模块都包含内置变量,直接运行的时候,name 等于 main ,代表自身 __name__,当模块被调用执行的时候,name等于文件名 Python中 if __name__ == '__main__' 的作用 原文地址:https://www.cnblogs.com/jiyu-hlzy/p/11785520.html

python文件中的__name__=='__main__'的使用及调用其他py文件中的函数方法

最近学习python的时候经常会看到好多py文件中都有if _name_ == '_main_': 这句话,所以就花点儿时间来研究一下,总结了一下使用方法及原则. 平时我们使用python IDE编写py程序的时候 一般是很少用到if name == 'main':这句话的,因为我们在运行py文件时,没有牵扯到其他目录下自定义的py文件,所以不用写这句话就可以无忧地执行当前py文件中的函数,但 想想 如果要是需要调用其他的py文件中的自定义函数呢?这就需要使用if name == 'main':

python中if __name__==’__main__’的作用

意思是如果该.py文件是自己执行则__name__被赋值为__main__,否则赋值为文件名. 作用: 有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. 举例: 先写一个模块: #module.py def main(): print "we are in %s"%__name__ if __name__ ==

Python中if __name__ == "__main__": 的作用

if __name__ == "__main__:", 之后还可能会有一些执行语句.那添加这个判断的目的何在? 在python编译器读取源文件的时候会执行它找到的所有代码,而在执行之前会根据当前运行的模块是否为主程序而定义变量__name__的值为__main__还是模块名.因此,该判断语句为真的时候,说明当前运行的脚本为主程序,而非主程序所引用的一个模块.这在当你想要运行一些只有在将模块当做程序运行时而非当做模块引用时才执行的命令,只要将它们放到if __name__ == &quo

FAQ: Python中if __name__ == '__main__':作用

#hello.pydef sayHello(): str="hello" print(str); if __name__ == "__main__": print ('This is main of module "hello.py"') sayHello() python作为一种脚本语言,我们用python写的各个module都可以包含以上那么一个类似c中的main函数,只不过python中的这种__main__与c中有一些区别,主要体现在:

浅析python 中__name__ = '__main__' 的作用

很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = '__main__' 的作用,到底干嘛的? 有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. __name__ 是当前模块名,当模块

谈谈python 中__name__ = '__main__' 的作用

position:static(静态定位) 当position属性定义为static时,可以将元素定义为静态位置,所谓静态位置就是各个元素在HTML文档流中应有的位置 podisition定位问题.所以当没有定义position属性时,并不说明该元素没有自己的位置,它会遵循默认显示为静态位置,在静态定位状态下无法通过坐标值(top,left,right,bottom)来改变它的位置. position:absolute(绝对定位) 当position属性定义为absolute时,元素会脱离文档流

python 中__name__ = '__main__' 的作用

有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. 这句话,可能一开始听的还不是很懂.下面举例说明: 先写一个模块: ? 1 2 3 4 5 #module.py def main():   print "we are in %s"%__name__ if __name__ == '__main__':   ma

python中__name__ = '__main__' 的作用

有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. 先写一个模块: #module.py def main(): print "we are in %s"%__name__ if __name__ == '__main__': main() 这个函数定义了一个main函数,我们执行一下该py文件发现结果是打印出&