由于每个Python模块(Python文件)都包含内置的变量__name__,当运行模块被执行的时候,__name__等于文件名(包含了后缀.py)。如果import到其他模块中,则__name__等于模块名称(不包含后缀.py)。而“__main__”等于当前执行文件的名称(包含了后缀.py)。所以当模块被直接执行时,__name__ == '__main__'结果为...
这就很清楚了,在text中__name__变量的值为__main__,而在text1中,__name__的值为text,明显不满足if语句,因此,后面的代码无法执行! 仔细想想,它的原理也就是: 每个python模块(文件)都包含内置的变量__name__,当该模块被执行的时候,__name__就等于文件名。而import到其他模块(文件)中,则__name__等于当...
如果我们运行python a.py,得到结果如下: 注意,在脚本a.py中我们看到__name__的值为__main__,此时在脚本b.py中__name__的值为b,同c.py中__name__的值为c。这是因为我们运行脚本为a.py,那么该脚本即a.py中变量__name__的值将会被设置为字符串__main__。这是因为脚本b.py和c.py不是直接运行的...
那么需要考虑的是,什么时候if __name__ == “__main__”会为True,也就是__name__ 变量会等于“__main__”?__name__变量是一个Python的Module的全局变量,Python解析器会在执行过程中设置该变量。当Python解析器将代码当作顶层模块运行的时候,__name__变量就会被赋值为“__main__”。所谓的顶层模块,...
__name__属性是Python的一个内置属性,记录了一个字符串。 若是在当前文件,__name__ 是__main__。 在hello文件中打印本文件的__name__属性值,显示的是__main__ 若是导入的文件,__name__是模块名。 test文件导入hello模块,在test文件中打印出hello模块的__name__属性值,显示的是hello模块的模块名。 因...
在ifname== ‘main’: 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中作为模块使用是不会被执行的。 简单来说:if __ name __ == ’ __ main __'的意思是: __当.py文件被直接运行时,if __ name __== ’ __ __main __'之下的代码块将被运行 ...
if __name__ == '__main__' 就相当于是 Python 模拟的程序入口。Python 本身并没有规定这么写,这只是一种编码习惯。由于模块之间相互引用,不同模块可能都有这样的定义,而入口程序只能有一个。到底哪个入口程序被选中,这取决于 __name__ 的值。
1.当我们直接运行python程序时,程序的__name__就是等于'__main__' 有程序脚本“A.py”,代码如下, defmyfun1: print('从A中调用myfun1') print('A_name:', __name__) myfun1 直接执行代码,得到结果输出: image-20220618195714681 2.当我们运行python程序导入其他.py文件时,导入其他文件的__name__就...
python之if __name__ ==“__main__”的意思是:判断是否执行正确。具体如下:1、每个python模块都包含内置的变量__name__。(__name__是python的一个内置类属性,它天生就存在于一个python程序中,代表对应程序名称)2、当运行模块被执行的时候,__name__等于当前执行文件的名称【模块名】...
1、每个python模块都包含内置的变量 __name__ 。( __name__ 是python的一个内置类属性,它天生就存在于一个 python 程序中,代表对应程序名称) 2、当在自身模块里执行的时候, __name__ 等于当前执行文件的名称【模块名】(包含了后缀.py)但是又由于 '__main__' 等于当前执行文件的名称【模块名】(包含了后...