这是因为在导入my_module模块时,Python会将该模块的名称赋值给__name__变量,因此ifname== 'main’语句不会执行。而当我们直接执行my_module.py文件时,name__变量的值为__main,因此ifname== 'main’语句会执行foo()函数。 简单来说在Python中,每个模块都有一个内置的变量__name__,用于表示当前模块的名称。...
然后,name作为模块的内置属性,即.py文件的调用方式;如果是直接运行该文件,那么ifname== ‘main‘:下面的代码就会执行。通常,我们在测试时可以在每个需要测试的py文件中写这句话来进行测试,这并不影响整个项目的最终执行结果,就像java项目中我们使用main方法来测试需要测试的类一样。 这里还有一个有趣的现象,如果我...
1、认识unittest运行姿势:观察unittest测试代码,注意右上角 Unittest in *.py,这就是unittest运行姿势 2、unittest运行姿势运行结果:可以看出,if __name__ == "__main__":下面的代码没有执行到 3、重点来了:修改代码中继承的unittest.TestCase为unittest.TestCas,即改成一个错误的,再点击鼠标右键运行,就会发现...
跟着大学的教材学习python ,因为是初学,常常碰到各种问题,教材讲的不是太详细,要上网查资料来解决。 if _name_=="_main_":这个语句总是报错,提示‘_name_'is not defined.上网查资料,终于发现问题,就是ift 和_name这间要加一个空格,就是双下划线。改成if __name__=="__main__",哈哈解决问题 ...
很多初学者可能在用pycharm运行代码时会出现if __name__ == "__main__":下面的代码没有执行的问题,出现这类问题的原因是unittest运行姿势造成的,如图: 怎样解决这类问题呢? 1、认识unittest运行姿势:观察unittest测试代码,注意右上角 Unittest in *.py,这就是unittest运行姿势 ...
我们现在接触的都是单个py文件,即单个模块。但当我们需要完成大型的项目,需要对多个py文件进行打包处理...
3. 使用if __name__ != '__main__'代替:在Python中,if __name__ == '__main__' 实际上...
摘要 首先某个python文件(如xx.py)中的def main()程序要存在,且能够顺利运行,否则会提示main错误。例子:def main():#这里函数名称为mainfor j in [1,8,9]:if j%2==0:print(j)if __name__=="__main__":main()#这里调用名称为main的函数。如果前面是def xxx(),后面if __name__=="__main__...
我写的每一个.py文件都是一个模块,可以被其他文件作为模块导入。文件中写在“if __name__=='__main__'”下面的代码只会在本文件中被运行。就算这个文件被导入到其他文件中,“if __name__=='__main__'”底下的代码也不会在其他文件中被执行。