__name__ 与 __main__解读】的更多相关文章

在python脚本中我们经常看到如下的代码: # hello.py def hello(): print("hello world!") def test(): hello() if __name__ == '__main__': test() 通常,一个python文件有两种使用方法: (1)直接作为脚本执行: (2)import到其他的python脚本中被调用(模块重用)执行 以上代码中,如果模块作为脚本运行,则变量__name__的值将为‘__main__’, 此时将执行测试函数…
__name__和__main__的使用 #hello.pydef sayHello(): str="hello" print(str); if __name__ == "__main__": print ('This is main of module "hello.py"') sayHello() 这样本身调用会执行所有,以下是执行结果,if __name__ == "__main__"是作为一种测试,调用顶层程序代码做内…
# -*- coding: utf-8 -*- #python 27 #xiaodeng #混合用法模式 __name__和__main__ #可把文件作为模块导入,并以独立式程序的形式运行,每个模块都有一个名为__name__的内置属性,python会自动设置该属性 #如果文件以顶层程序文件执行,在启动时,__name__就会被设置为字符串__main__ #如果文件被导入,__name__就会被设置为客户端所了解的模块名. #结果: #模块就是检测自己的__name__,来确定他是在执行还是…
本模块名: person 调用者模块名: start import sys def funcperson(): print('我是人') print(sys.modules[__name__]) # <module '__main__' from 'C:/Users/SATH/Desktop/testtest/aaa/core/person.py'> print(__name__) # __main__ print(sys.modules['__main__']) # <module '…
1背景 在写Python代码和看Python代码时,我们常常可以看到这样的代码: ? 1 2 3 4 5 def main():     ......   if __name == "__main__":     main(); 其中的函数名main,也可以是其他任意的,你所设置的名字. 这里,就出现了,我们此处所要解释的 __name__和__main__ __name__和__main的含义 其实,对于Python中的这类问题,根据我之前的: [整理]如何学习Python + 如何…
主要讲解 某个module中使用了相对引用,同时这个module的 __name__ 属性 又是 __main__ 会报错的问题 1.问题复现 文件结构很简单: |--------package | ├── __init__.py| ├── base.py| └── derived.py |--------main.py 各个文件内容如下: #base.pydef testfun(): print('base')#derived.pyfrom .base import testfuntestfu…
__name__: __name__作为模块的内置属性,简单点说呢,就是.py文件的调用方式. __main__: 如果__name__等于"__main__"就表示是直接执行. 总结: 在if __name__ == "__main__":之后的语句作为模块被调用的时候,语句之后的代码不执行:直接使用的时候,语句之后的代码执行.通常,此语句用于模块测试中使用. 原文出处:http://keliang.blog.51cto.com/3359430/649318…
废话不多说,正题: python中所有的模块都有一个内置属性 __name__,一个模块的 __name__ 的值取决于如何应用模块.如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名.但是您也可以像一个标准的程序样直接运行模块,在这 种情况下, __name__ 的值将是一个特别缺省"__main__". 换句通俗的话讲,当你在当前文件运行一个文件时,__name__==__main__,则其后的代码会正常执行,但是当你在另一个文件i…
定义一个模块叫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后面的语句是不会被执行的.…
模块之间引用不能循环成环,圆圈   模块的收搜   !!!把模块当作脚本执行 什么叫模块:py文件,如果一个py文件被导入了,他就是一个模块, 模块没有具体的调用过程 但是能对外提供功能   什么叫脚本:py文件,如果这个py文件直接被执行,这个被直接执行的文件就是一个脚本(点击右键运行这个py文件)     前提介绍:py文件叫login,文件内的函数叫log_in   当一个py文件(名字叫Login.py)当作脚本执行的时候,能够独立完成登录功能 print('__name__:',  r…