python对 if __name__=='__main__'的理解】的更多相关文章

1.在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句.那添加这个判断的目的何在? 在python编译器读取源文件的时候会执行它找到的所有代码,而在执行之前会根据当前运行的模块是否为主程序而定义变量__name__的值为__main__还是模块名.因此,该判断语句为真的时候,说明当前运行的脚本为主程序,而非主程序所引用的一个模块.这在当你想要运行一些只有在将模块当做程序运行时而非当做模块引用时才执行的命…
通俗的理解__name__ ="__main__"的意思就是:当.py文件被直接运行时,if __name__ = "__main__"之下的代码快将被运行:当.py以模块的形式被导入时,if __name__ = "__main__"之下的代码将不被运行 程序入口 对于很多编程语言来说,程序都会有一个入口,python属于脚本语言,不像编译型语言那样先将程序编译称二进制再运行,而是动态的逐行运行.也就是从脚本的第一行开始运行没有统一的入口.一个…
对于学过其他编程语言的人来说都知道程序都是从main函数开始执行的,而对于python来说他并没有主函数,他不像其他语言需要需要转化为二进制文件 然后才能执行,他时通过翻译器从第一行开始逐行执行,所以对于python来说并没有确切的入口,对于一个python代码来说,他不仅可以直接运行还可以 作为一个模块导入.但是无论是导入还是直接运行其最外层代码总是会被运行,但是当我们在做这个模块的时候总会有一些调试性的代码,希望在单独执时 检测程序的正确与否,而在用为模块导入时不希望执行. 这时我们便想到了…
if __name__ == '__main__' 的理解 __name__ 是当前模块名,当模块被直接运行时模块名为 __main__ . 这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行. #practice.py import cc print('引用cc') cc.cc() print('程序结束!') 其中,cc.py为 def cc(): print('调用cc了') print('先输出哪个?') 此时结果为: 先输出哪个? 引用cc 调用…
python 中if __name__ = '__main__' 的作用 前言 首先我们要知道在python里面万物皆对象,模块也是对象,并且所有的模块都有一个内置属性 __name__. 一个模块的 __name__ 的值取决于如何应用模块. 如果 import 一个模块(调用),那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名. 但是也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个特别缺省"__main__". 现在,我们…
1 引言 在Python当中,如果代码写得规范一些,通常会写上一句“if __name__==’__main__:”作为程序的入口,但似乎没有这么一句代码,程序也能正常运行.这句代码多余吗?原理又在哪里?本篇博文对此进行总结说明. 2 程序入口 学过Java.C.C++的程序员应该都知道,每次开启一个程序,都必须写一个主函数作为程序的入口,也就是我们常说的main函数.如下所示, main()就是Java中的一个main函数. public class HelloWorld { public s…
1. 摘要: 通俗的理解_name_ == '_main_':假如你叫小明.py,在朋友眼中,你是小明(_name_ == '小明'):在你自己眼中,你是你自己(_name_ == '_main_'). if _name_ == '_main_'的意思是:当.py文件被直接运行时,if _name_ == '_main_'之下的代码块将被运行:当.py文件以模块形式被导入时,if _name_ == '_main_'之下的代码块不被运行. 2. 程序入口 对于很多编程语言来说,程序都必须要有一个…
在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句.那添加这个判断的目的何在? 在python编译器读取源文件的时候会执行它找到的所有代码,而在执行之前会根据当前运行的模块是否为主程序而定义变量__name__的值为__main__还是模块名.因此,该判断语句为真的时候,说明当前运行的脚本为主程序,而非主程序所引用的一个模块.这在当你想要运行一些只有在将模块当做程序运行时而非当做模块引用时才执行的命令,…
定义一个模块叫module.py: def main(): print "we are in %s" %__name__ if __name__=='__main__': main() 如果我们直接运行module.py,那么该模块的__name__为__main__,就会执行if后面的语句. 但是如果我们从另一个模块中import module,那么此时module.py的__name__为module,即为python文件的文件名.if后面的语句是不会被执行的.…
在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句.那添加这个判断的目的何在? 在python编译器读取源文件的时候会执行它找到的所有代码,而在执行之前会根据当前运行的模块是否为主程序而定义变量__name__的值为__main__还是模块名.因此,该判断语句为真的时候,说明当前运行的脚本为主程序,而非主程序所引用的一个模块.这在当你想要运行一些只有在将模块当做程序运行时而非当做模块引用时才执行的命令,…