那么需要考虑的是,什么时候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....
my math module square(5)= 25 1. 2. 直接运行该模块可以看到if条件的判断是成立的,也就是这里name为__main__,可以添加自己的调试信息。我们再写一个简单的程序,在该程序中使用import导入我们刚才写的square模块。程序的名字为test_name_main.py。 点击(此处)折叠或打开 root@team:~/python# cat test_name...
而“__main__”等于当前执行文件的名称(包含了后缀.py)。所以当模块被直接执行时,__name__ == '__main__'结果为真;而当模块被import到其他模块中时,__name__ == '__main__'结果为假,就是不调用对应的方法。 原文链接:https://blog.csdn.net/wrh_csdn/article/details/80534654#:~:text=%E7%99%B...
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__等于当...
if __name__ == "__main__":语句用于判断当前模块是否作为主程序执行,如果是,则调用main()函数...
# 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...