那么需要考虑的是,什么时候if __name__ == “__main__”会为True,也就是__name__ 变量会等于“__main__”?__name__变量是一个Python的Module的全局变量,Python解析器会在执行过程中设置该变量。当Python解析器将代码当作顶层模块运行的时候,__name__变量就会被赋值为“__main__”。所谓的顶层模块,...
import my_module #只在第一次导入时才执行my_module.py内代码,此处的显式效果是只打印一次'from the my_module.py',当然其他的顶级代码也都被执行了,只不过没有显示效果. import my_module import my_module import my_module ''' 执行结果: from the my_module.py ''' demo.py 1. 2. 3. 4. 5....
上面的类图中,MainModule代表主模块,OtherModule代表其他模块。MainModule和OtherModule都有一个__name__属性,用于记录模块名称。MainModule还有一个__main__属性,表示主模块。 旅行图 下面是实现"vscode python ifmain"的旅行图:
可以看到,通过if __name__ == "__main__":,module.py的直接执行和被导入时的行为是不同的。优...
def main(): print "PI:", PI if __name__ == "__main__": main() _name_代表当前模块的名字 当我们再次运行“python area.py”时 对于const.py来说 _name_不再是_main_ 因此其中的main()不再被执行 最终得到我们想要的输出 round area: 12.56 ...
if__name__== “__main__”: 详细解释: 1、每个python模块都包含内置的变量__name__。(__name__是python的一个内置类属性,它天生就存在于一个 python 程序中,代表对应程序名称) 2、当在自身模块里执行的时候,__name__等于当前执行文件的名称【模块名】(包含了后缀.py)但是又由于'__main__'等于当前执...
这就很清楚了,在text中__name__变量的值为__main__,而在text1中,__name__的值为text,明显不满足if语句,因此,后面的代码无法执行! 仔细想想,它的原理也就是: 每个python模块(文件)都包含内置的变量__name__,当该模块被执行的时候,__name__就等于文件名。而import到其他模块(文件)中,则__name__等于当...
# first_module.pyprint('Hello from first_module.py')if__name__=='__main__':print('Hello from main method of first_module.py') 所以在上面的模块中,我们有一个在 main 方法之外的打印语句和一个在内部的打印语句。main 方法下的代码只有在模块作为脚本从(例如)命令行调用时才会执行,如下所示: ...
1.3 ifname== ‘main’: 语句 ifname== ‘main’: 是模块中很常用也很重要的一个语句。 当py文件test1直接运行(不是在其他文件中用import test1的方式),__name__就会默认为字符串’main’,该判断语句结果就为True。 如果导入到其他模块中,__name__就是文件名’test1’,该语句判断结果就为False,判断语句的...
/usr/bin/python# -*- coding: UTF-8 -*-if__name__=='__main__':print'作为主程序运行'else:print'package_runoob 初始化' 然后我们在package_runoob同级目录下创建 test.py 来调用package_runoob包 test.py #!/usr/bin/python# -*- coding: UTF-8 -*-# 导入 Phone 包frompackage_runoob.runoob...