看过很多python的code都有这段代码: 1 2 if __name__ == '__main__': statements 这段代码的主要作用主要是让该python文件既可以独立运行...当导入到其他的脚本文件的时候,此时__name__的名字其实是导入模块的名字,不是'__main__', main代码里面的就不执行了。...参考: http://pyfaq.infogami.com/tutor-what-is-if-name-main-for The if __name__ == "__main__": ... trick...exists in Python so that our Python files can act as either reusable modules, or as standalone programs...伪python爱好者,正宗测试实践者。
2、运行的原理 每个python模块(python文件,也就是此处的test.py和import_test.py)都包含内置的变量__name__,当运行模块被执行的时候,__name__等于文件名(...文件内容和结果如下, __name__ __name__ == : # python test.py I'm the first. __main__ I'm the second....Python 中的 if __name__ == '__main__' 该如何理解 这个问题来自于知乎用户的提问,当时看到这个问题,我只是做了下简单的回答。...if __name__ == '__main__' 就相当于是 Python 模拟的程序入口。Python 本身并没有规定这么写,这只是一种编码习惯。...后序 我试图使用长篇大论来阐述,在 Python 中如何理解 if __name__ == '__main__' 这个问题,不知道我有没有描述得足够的明白。
想必很多初次接触python的同学都会见到这样一个语句,if __name__ == "__main__": 那么这个语句到底是做什么用的呢?...在解释之前,首先要声明的是,不管你是多么小白,你一定要知道的是: 1.python文件的后缀为.py; 2..py文件既可以用来直接执行,就像一个小程序一样,也可以用来作为模块被导入(比如360安全卫士...,就是依靠一个个功能模块来实现的,好比360安全卫士本身框架是一个桌面,而上面的图标就是快捷方式,这些快捷方式所指向的就是这一个个功能模块) 3.在python中导入模块一般使用的是import 好了,...在确定知道以上几点之后,就可以开始解释if __name__ == "__main__":这个语句了。...接着是 __name__,__name__作为模块的内置属性,简单点说呢,就是.py文件的调用方式。 最后是__main__,刚才我也提过,.py文件有两种使用方式:作为模块被调用和直接使用。
__name__究竟是什么 我们经常会在各种代码中见到一个__name__ == '__main__', 这究竟是什么意思呢 当一个python文件是被当做一个脚本运行的时候, 它的__name__就为...return x+y >>> __name__ '__main__' 当文件被当做模块导入时, __name__就是文件的名字, 如下代码 >>> import os >>> os....__name__ 'os' 所以我们平常见到的__name__ == "__main__"就是指当前文件作为脚本运行时会发生的一些事情, 防止当前文件作为模块导入时运行自己不想运行的代码
一、name变量 1.,我们首先直接使用name(不进行定义),若能正常使用,则说明该变量为系统内置变量,如下图所示: ? 从上图中可以知道,name为系统的内置变量。...2.当name在当前执行的文件中使用时,它的值为main;但是当name在被调用的模块中时,其值为被调用文件所在的路径,见下图: ? ?...综上所述:name变量时所属系统变量,当在执行文件内使用时其值为main;但是当其他被调用模块中使用时,其值为被调用模块所属的路径; 二、name变量在实际中的使用作用 我们经常看到再程序中使用 ?...if name == 'main': pass 我们在写程序时,经常是功能模块和业务逻辑模块分离,在写功能函数时,经常要进行调试函数是否正常,那么此时我们可以直接在功能模块最下面加上if name ==
参考链接: Python的__name __(特殊变量) 我们经常看到Python代码中包含这样的代码: if __name__ == '__main__': something... ...如果当前文件是主动执行的,__name__ 变量的值就是:__main__,如果是 被导入执行的,则是被导入的文件名,比如有文件:test.py,如果执行:python test.py,那么,test文件的...__name__变量值就是:__main__,如果: import test test....__name__ 那么值就是:test。 除了要知道这个以外,还要知道一点就是,代码中带有“定义”功能的代码,是不被执行的。也就是说,代码中的函数、类的定义代码不会被执行。...所以,再来看下test.py文件代码: print 'abc' def sayHello(): # 函数定义不被执行 print 'hello' print 'def' if __name
已解决:NameError: name ‘python‘ is not defined 一、分析问题背景 在Python编程过程中,NameError: name ‘python‘ is not defined...下面是一个简单的代码片段,其中该错误可能会出现: print(python) 当我们运行这段代码时,会遇到NameError: name ‘python‘ is not defined的异常。...二、可能出错的原因 导致NameError: name ‘python‘ is not defined报错的原因主要有以下几点: 变量未定义:在使用变量之前,未对其进行定义或初始化。..." # 打印变量 print(python) 通过上述代码,我们可以正确地定义和使用变量python,避免NameError异常。...通过以上步骤和注意事项,可以有效避免和解决NameError: name ‘python‘ is not defined报错问题,确保Python代码的正确性和运行稳定性。
本文将讨论具体的报错信息:“NameError: name ‘python’ is not defined”。这一错误通常出现在初学者或疏忽的情况下,他们尝试使用未定义的名称。...运行上述代码,将得到以下输出: Hello, Python 五、注意事项 为了避免NameError: name ‘python’ is not defined错误,编写代码时需要注意以下事项: 检查拼写..." print(language) # 正确输出 作用域问题: # 错误示例 def greet(): name = “Python” greet() print(name) # NameError...# 正确示例 def greet(): global name name = "Python" greet() print(name) # 正确输出 通过遵循这些注意事项,能够有效避免...希望本文对解决NameError: name ‘python’ is not defined错误有所帮助,助你在Python编程之路上更加顺利。
__name__ //首先用self.__class__将实例变量指向类,然后再去调用__name__类属性2.self.__classs__....__name__获取类名class Parent(object): def __init__(self, name): self.name = name print("...__name__) //Parent 此时的类名 print("name attribute is:", self.name)输出:当前位置类名是 Parent__class__: <class
而其中,“NameError: name ‘python‘ is not defined”这样的报错更是让不少开发者和环境配置者感到头疼。它到底意味着什么?又该如何去解决呢?...一、问题描述: 1.1报错示例: 以下是一段可能引发“NameError: name ‘python‘ is not defined”报错的简单代码示例: print(python) 在上述代码中,我们仅仅只是尝试打印一个名为...然而,由于我们在代码中之前从未通过赋值等方式来定义过一个叫“python”的变量,所以解释器无法找到与之对应的对象,于是就抛出了“NameError: name ‘python‘ is not defined...四、总结: 在本文中,我们详细探讨了“NameError: name ‘python‘ is not defined”这个报错信息。...通过这样系统的排查,相信能够快速准确地解决“NameError: name ‘python‘ is not defined”这类报错问题,让我们的Python开发过程更加顺利。
在很多 Python 的代码的时候,我们通常可能会看到 __name__ 这个变量。 对于 Python 的初次使用用户来说可能对这个变量不是非常熟悉。...这样理解就好了,__name__ 这个变量就是一个标识 Python 程序的全局变量。...__name__ 就是一个构建到 Python 解释器中的变量,用于标识当前运行模块的名称。 这个与 Java 中的 this.getClass().getName() 有点类似。...文件的源代码如下: # -*- coding: utf-8 -*- # Python __name__ module Test # Author - https://www.ossez.com import...https://www.ossez.com/t/python-name/13393
Python 的 __ name __ 变量及其应用 在 Python 中,每个模块(module)都有内置的 __name__ 变量,它的值取决于模块的使用方式。...当模块被直接执行时,__name__ 的值是 __main__。当模块被导入时,__name__ 的值是模块的名字。...self.scope['__name__'] = '__main__' 例如,在模块 module1.py 中有: print(__name__) 如果直接执行 python module1.py,输出会是...__name__ 这个变量为我们实现模块的双重用途提供了可能,是 Python 中一个简单但非常有用的设计。...总结 总之,记住:__name__ == '__main__' 表示模块被直接执行,否则模块被导入。运用这个技巧,我们可以编写既可以导入也可以直接执行的 Python 模块。
对于Python初学者来说,在看别人代码时经常会看到if __name__ == "__main__",这时心里就开始吐槽:“绝对又是装X,我特么不写这句话,代码不照样跑得好好的!...现在就来看看这句代码到底是个啥意思,因为这句话能够帮你对Python模块的理解上一个层次。...通过例子来理解 只要你创建了一个模块(一个.py文件),这个模块就有一个内置属性name生成,该模块的 name 的值取决于如何应用这个模块。...说人话就是,如果你直接运行该模块,那么__name__ == "__main__";如果你 import 一个模块,那么模块name 的值通常为模块文件名。...,说明__name__ 不等于 __main__。
已解决:NameError: name ‘reload’ is not defined 一、分析问题背景 在使用Python进行开发时,有时我们可能需要重新加载某个已经导入的模块,以便应用模块中的最新更改...在Python 2.x版本中,reload() 是一个内建函数,可以直接使用。然而,在Python 3.x中,reload()函数已经从内建命名空间中移除,被放置到了importlib模块中。...因此,如果直接在Python 3.x中使用reload()函数,会遇到“NameError: name ‘reload’ is not defined”这样的错误。...3中编写代码时,要特别注意Python 2和Python 3之间的差异,尤其是内建函数和模块的变化。...通过遵循上述指导原则,并正确地导入和使用reload函数,你可以避免遇到“NameError: name ‘reload’ is not defined”这样的错误,并顺利地重新加载你的Python模块
# python的__name__ = 'main' 的作用 __name__ = '__main__' 的作用 先写一个模块: #module.py def main(): print "we...are in %s"%__name__ if __name__ == '__main__': main() 我们经常看到想上面代码底下的代码,其主要的意义在于: # 让你写的脚本即可以导入别的模块中用...其执行的结果是:we are in module 但是没有显示 ”we are in __main__“ ,也就是说模块 __name__ = '__main__' 下面的函数没有执行。...# 总结 如果我们是直接执行某个.py文件的时候, 该文件中那么”__name__ == '__main__'“是True, 但是我们如果从另外一个.py文件通过import导入该文件的时候, 这时__...name__的值就是我们这个py文件的名字而不是__main__。
原文地址:http://www.jb51.net/article/51892.htm 侵删 很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\'...这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = '__main__' 的作用,到底干嘛的?...下面举例说明: 先写一个模块: #module.py def main(): print "we are in %s"%__name__ if __name__ == '__main__': main...总结一下: 如果我们是直接执行某个.py文件的时候,该文件中那么”__name__ == '__main__'“是True,但是我们如果从另外一个.py文件通过import导入该文件的时候,这时__name...这个功能还有一个用处:调试代码的时候,在”if __name__ == '__main__'“中加入一些我们的调试代码,我们可以让外部模块调用的时候不执行我们的调试代码,但是如果我们想排查问题的时候,直接执行该模块文件
在理解上面的话之前,你可能需要参考下帖子:Python 的特殊变量 __name__ 中的内容。在上面的链接中解释了特殊变量 __name__ 的作用。...这样理解就好了,__name__ 这个变量就是一个标识 Python 程序的全局变量。...我们都知道 Python 是没有 main() 函数的,所以如果在一个 Python 程序运行的时候,我们可能希望对使用的变量进行一些定义,如果使用模块运行的时候,可能不需要这个步骤。...if __name__ == "__main__" 最最简单的解释就是起到了一个开关的作用。通常用于在作为程序运行的时候进行一些初始化操作。...https://www.ossez.com/t/python-if-name-main/13394
已解决:NameError: name ‘unichr’ is not defined 一、分析问题背景 在使用Python进行编程时,有时会遇到“NameError: name ‘unichr’ is...三、错误代码示例 以下是一个可能导致“NameError: name ‘unichr’ is not defined”错误的代码示例: # 错误代码示例 character = unichr(65)...五、注意事项 在编写Python代码时,特别是当你从Python 2迁移到Python 3时,需要注意以下几点: 代码兼容性:确保你了解你正在使用的Python版本的特性和变化。...Python 2和Python 3之间存在显著差异,一些函数和库在Python 3中可能已被重命名、移除或替换。...字符串处理:在Python 3中,所有字符串都是Unicode字符串,因此不需要像在Python 2中那样区分普通字符串和Unicode字符串。
摘要 Python编程小白福利! 本文将详细解析常见错误 NameError: name 'Image' is not defined 的根源及解决方案。...【Python】成功解决NameError: name ‘Image‘ is not defined 引言 在学习Python进行图像处理时,很多初学者都会遇到这样一个问题: NameError: name...如果你尝试使用Image模块却没有正确导入它,Python会抛出如下错误: NameError: name 'Image' is not defined 导致这一问题的常见原因包括: 未安装Pillow...安装Pillow库 首先,确保你的Python环境中已安装Pillow库。...对于Python初学者,这些内容既是基础,也是进阶的起点。
对于 Python 3.3: import imp imp.reload(sys) 1. 2. 注意: 1....Python 3 与 Python 2 有很大的区别,其中Python 3 系统默认使用的就是utf-8编码。 2....所以,对于使用的是Python 3 的情况,就不需要sys.setdefaultencoding("utf-8")这段代码。 3....最重要的是,Python 3 的 sys 库里面已经没有 setdefaultencoding() 函数了。...对于 >= Python 3.4:import importlib importlib.reload(sys) 参考网站: Reloading module giving NameError: name