首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 中的 if __name_

因此if __name__ == 'main': 的作用就是控制这两种情况执行代码的过程,在if __name__ == 'main': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,...同样举例说明,我们在test.py脚本的if __name__=="__main__":之前加入print __name__,即将__name__打印出来。...Python 中的 if __name__ == '__main__' 该如何理解 这个问题来自于知乎用户的提问,当时看到这个问题,我只是做了下简单的回答。...__ 我们执行 python -c "import a.b.c",输出结果: a a.b a.b.c 由此可见,__name__ 可以清晰的反映一个模块在包中的层次。...后序 我试图使用长篇大论来阐述,在 Python 中如何理解 if __name__ == '__main__' 这个问题,不知道我有没有描述得足够的明白。

83210

python中__name__讲解

一、name变量 1.,我们首先直接使用name(不进行定义),若能正常使用,则说明该变量为系统内置变量,如下图所示: ? 从上图中可以知道,name为系统的内置变量。...2.当name在当前执行的文件中使用时,它的值为main;但是当name在被调用的模块中时,其值为被调用文件所在的路径,见下图: ? ?...综上所述:name变量时所属系统变量,当在执行文件内使用时其值为main;但是当其他被调用模块中使用时,其值为被调用模块所属的路径; 二、name变量在实际中的使用作用 我们经常看到再程序中使用 ?...if name == 'main': pass 我们在写程序时,经常是功能模块和业务逻辑模块分离,在写功能函数时,经常要进行调试函数是否正常,那么此时我们可以直接在功能模块最下面加上if name ==...同时在其他模块来调用这些函数时,由于此时if语句不成立,所以此时将不会执行下面的代码块,也就是说在你在调用其他模块时,被调用的模块下方的if函数将不会被执行(在进行import module时,将会先加载整个模块的代码

64120
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python中的 if __name__ == “__main__“

    对于Python初学者来说,在看别人代码时经常会看到if __name__ == "__main__",这时心里就开始吐槽:“绝对又是装X,我特么不写这句话,代码不照样跑得好好的!...我刚开始碰到这行代码时,心里也是这样想的! 吐槽归吐槽,存在必然有存在的道理。现在就来看看这句代码到底是个啥意思,因为这句话能够帮你对Python模块的理解上一个层次。...通过例子来理解 只要你创建了一个模块(一个.py文件),这个模块就有一个内置属性name生成,该模块的 name 的值取决于如何应用这个模块。...说人话就是,如果你直接运行该模块,那么__name__ == "__main__";如果你 import 一个模块,那么模块name 的值通常为模块文件名。...if __name__ == "__main__": func() 模块中,首先定义了函数func(),用来打印出hello, world!

    27730

    Python 中的__main__和__name__

    另一方面,在 Python 中,没有main()函数的概念,因为它是一种基于解释器的语言,同样可以在交互 Shell中使用。 扩展名为.py的 Python 程序文件包含多个语句。...例如,解释器 Shell 中执行的代码的范围将是__main__,如下所示。...Python Shell >>> def f1():     print(__name__)>>> f1() Copy 甚至内部功能都是在顶层范围__main__内执行的: Python Shell >...这里我们可以使用特殊变量__name__来检查addition.py文件的作用域和执行语句,只有当它从命令提示符/终端独立执行时,而不是当它被导入到其他文件/模块中时。...因此,name的值允许 Python 解释器确定模块是否是可执行脚本。如果其值为main,将执行函数定义之外的语句。如果没有,模块的内容将被填充到顶层模块(或解释器名称空间)中,而不包含可执行部分。

    16820

    Python中if __name__ == __main__: 的作用

    Python中if __name__ == "__main__": 的作用 在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句...那添加这个判断的目的何在? 在python编译器读取源文件的时候会执行它找到的所有代码,而在执行之前会根据当前运行的模块是否为主程序而定义变量__name__的值为__main__还是模块名。...因此,该判断语句为真的时候,说明当前运行的脚本为主程序,而非主程序所引用的一个模块。...这在当你想要运行一些只有在将模块当做程序运行时而非当做模块引用时才执行的命令,只要将它们放到if __name__ == "__main__:"判断语句之后就可以了。...one.py,输出: top-level in one.py one.py is being run directly 当运行python two.py,输出: top-level in one.py

    53920

    python中__name__的意义以及作用

    首先定义了一个test.py的文件,然后再定义一个函数,并在函数定义后直接运行: test.py def HaveFun(): if __name__ == '__main__':...,my name is %s' % __name__) HaveFun() 运行test.py结果: I am in my domain,my name is __main__ 然后继续创建一个main.py...,my name is test 这里打印了两次,第一次实在main.py在进行import test的时候,进行的打印,第二次才是test.HaveFun()中执行的打印,可以发现,这里的 __name...总结: 1、__name__这个系统变量显示了当前模块执行过程中的名称,如果当前程序运行在这个模块中,__name__ 的名称就是__main__如果不是,则为这个模块的名称。...2、__main__一般作为函数的入口,类似于C语言,尤其在大型工程中,常常有if __name__ == "__main__":来表明整个工程开始运行的入口。

    55050

    Python中if __name__ == __main__: 的作用

    Python中if __name__ == "__main__": 的作用 在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句...那添加这个判断的目的何在? 在python编译器读取源文件的时候会执行它找到的所有代码,而在执行之前会根据当前运行的模块是否为主程序而定义变量__name__的值为__main__还是模块名。...因此,该判断语句为真的时候,说明当前运行的脚本为主程序,而非主程序所引用的一个模块。...这在当你想要运行一些只有在将模块当做程序运行时而非当做模块引用时才执行的命令,只要将它们放到if __name__ == "__main__:"判断语句之后就可以了。...one.py,输出: top-level in one.py one.py is being run directly 当运行python two.py,输出: top-level in one.py

    81050

    音频链接抓取技术在Lua中的实现

    在众多的音乐服务中,音频链接的抓取技术成为了一个重要的需求。无论是为了音乐推荐、版权分析还是个人收藏,能够自动化地获取音频链接对于开发者和数据分析师来说都具有极大的价值。...本文将详细介绍如何使用Lua语言实现音频链接的抓取技术,并以网易云音乐为例进行案例分析。...需求场景 音频链接抓取技术可以应用于多种场景,例如: 音乐推荐系统:通过分析用户对音频链接的访问模式,构建个性化的音乐推荐。...版权分析:监测特定音频在不同平台上的使用情况,帮助版权所有者进行版权管理。 市场调研:分析热门音乐的传播趋势,为市场策略提供数据支持。 个人收藏:自动化地收集用户喜欢的音乐链接,方便个人管理和分享。...目标分析 网易云音乐的网页结构相对复杂,音频链接通常隐藏在JavaScript动态生成的内容中,直接通过HTTP GET请求获取的HTML源码中并不包含音频链接。

    7710

    音频链接抓取技术在Lua中的实现

    在众多的音乐服务中,音频链接的抓取技术成为了一个重要的需求。无论是为了音乐推荐、版权分析还是个人收藏,能够自动化地获取音频链接对于开发者和数据分析师来说都具有极大的价值。...本文将详细介绍如何使用Lua语言实现音频链接的抓取技术,并以网易云音乐为例进行案例分析。...需求场景音频链接抓取技术可以应用于多种场景,例如:音乐推荐系统:通过分析用户对音频链接的访问模式,构建个性化的音乐推荐。版权分析:监测特定音频在不同平台上的使用情况,帮助版权所有者进行版权管理。...目标分析网易云音乐的网页结构相对复杂,音频链接通常隐藏在JavaScript动态生成的内容中,直接通过HTTP GET请求获取的HTML源码中并不包含音频链接。...此外,网易云音乐对爬虫有一定的反爬措施,如IP限制、请求频率限制等。因此,实现音频链接的抓取需要解决以下问题:如何绕过JavaScript动态加载的内容。如何应对网站的反爬虫策略。

    10400

    小蛇学python(21)Python中的if __name__ == __main__

    在具体说明if name == 'main'功能前,先从一个简单的实例直观上感受一下。...运行结果后可以看见,const.py中的train()也被运行了,实际上我们是不希望它被运行,只是想把const.py中 PI 变量导入到 area.py。...实际上if name=="main":就相当于是 Python 模拟的程序入口。由于模块之间相互引用,不同模块可能都有这样的定义,而入口程序只能有一个,选中哪个入口程序取决于 name 的值。...可以发现receiver.py中if name=="main"后语句没有执行,因为此时运行的是caller.py,而找不到进去receiver.py的入口!使用这种方法可以控制代码的执行!...2. name 2.1 name是内置变量,可用于表示当前模块的名字 2.2 name是内置变量,可用于反映一个包的结构。

    34120

    秒懂python编程中的if __name__ == __main__

    原文链接:https://zhuanlan.zhihu.com/p/34112508 作者: 菜鸟分析 相信初学者在学习Python的过程中,不可避免的总会遇到if __name__ == '__main...举个例子,我们在下面在test.py中写入如下代码: print('恋习Python') def main(): print('恋习Python') if __name__ == '...现在,我们在test.py脚本的if __name__=="__main__":之前加入print __name__,即将__name__打印出来,则最后运行结果如下: ?...此时,test.py中的__name__变量值为test,不满足__name__=="__main__"的条件,因此,无法执行其后的代码。 哈哈,是不是一下明白啦,觉得不错,给菜鸟分析点个赞哦!...再仔细想想,其运行原理也就是: 由于每个python模块(python文件)都包含内置的变量__name__,当运行模块被执行的时候,__name__等于文件名(包含了后缀.py)。

    46111

    Python 中的 if __name__ == __main__ 该如何理解

    不管是导入还是直接运行,最顶层的代码都会被运行(Python 用缩进来区分代码层次)。而实际上在导入的时候,有一部分代码我们是不希望被运行的。   ...__ 我们执行 python -c "import a.b.c",输出结果: a a.b a.b.c 由此可见,__name__ 可以清晰的反映一个模块在包中的层次。...例如在上例中,我们直接运行 c.py 文件(python a/b/c.py),输出结果如下: __main__   所以,if __name__ == '__main__' 我们简单的理解就是: 如果模块是被直接运行的...后序   我试图使用长篇大论来阐述,在 Python 中如何理解 if __name__ == '__main__' 这个问题,不知道我有没有描述得足够的明白。...Python 并没有在太多的地方规定要如何如何,很多的用法只是惯用法,例如 self 和本文讨论的内容。这些用法或是为了让代码看起来更优雅,或是前人的经验。

    87430

    Python中__name__有什么用

    与本书有关的更多资料,请访问: http://www.itdiffer.com/python_course.html ---- 在Python程序中,你会经常看到__name__,例如: if __name...请注意,__name__在程序中是一个变量,只不过这个变量的命名有点奇怪,用双下划线开头和结尾。这种命名的方法,在Pyhton的类对象设计中,常常用于一些具有特殊作用的属性或者方法名称[2]。...在程序中的代码被执行之前,Python解析器先给__name__变量赋值为__main__。然后逐行执行程序中的代码。...在importscript.py中,变量__name__被赋值为__main__,然后执行import namescript,Python解析器会自动在模块名字后面增加.py并在检索目录中查找该文件——...本文内容作为《Python大学实用教程》第7章的补充和拓展,从而理解__name__变量的作用及其在模块编写中的应用效果。

    56510

    Python 中的 if __name__ == __main__ 该如何理解

    不管是导入还是直接运行,最顶层的代码都会被运行(Python 用缩进来区分代码层次)。而实际上在导入的时候,有一部分代码我们是不希望被运行的。   ...__ 我们执行 python -c "import a.b.c",输出结果: a a.b a.b.c 由此可见,__name__ 可以清晰的反映一个模块在包中的层次。...例如在上例中,我们直接运行 c.py 文件(python a/b/c.py),输出结果如下: __main__   所以,if __name__ == '__main__' 我们简单的理解就是: 如果模块是被直接运行的...后序   我试图使用长篇大论来阐述,在 Python 中如何理解 if __name__ == '__main__' 这个问题,不知道我有没有描述得足够的明白。...Python 并没有在太多的地方规定要如何如何,很多的用法只是惯用法,例如 self 和本文讨论的内容。这些用法或是为了让代码看起来更优雅,或是前人的经验。

    1.1K40

    Python中熟悉而又陌生的 if __name__ == __main__

    在 python 文件中,我们经常会看到 if __name__ == "__main__" 。那么 if __name__ == "__main__" 是什么?它可以用来干什么呢?...python 解释器在读取 python 文件时,会设置一些特殊变量的值,其中有一个变量是 __name__ ,下面我们通过一些例子来认识下 __name__。...bar's __name__ is set to: __main__ bar.py ran directly 从上面两个输出结果可以看出,文件中的函数当我们不显示调用时,并不会执行。...将 foo.py 和 bar.py 修改成如下,在修改后的文件中我们显示调用函数。...directly 总结 __name__ 的存在可以使我们更加灵活地控制 python 作为主程序执行时应该执行的代码块以及作为模块被导入执行时应该执行的代码块。

    76330

    Python中if __name__ == ‘__main__‘:的作用和原理

    if __name__ == ‘__main__’:的作用 一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行。...因此 if __name__ == ‘main’: 的作用就是控制这两种情况执行代码的过程,在 if __name__ == ‘main’: 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行...,而 import 到其他脚本中是不会被执行的。...if __name__ == ‘__main__’:的运行原理 每个python模块(python文件,也就是此处的 test.py 和 import_test.py)都包含内置的变量 __name__...,当该模块被直接执行的时候,__name__ 等于文件名(包含后缀 .py );如果该模块 import 到其他模块中,则该模块的 __name__ 等于模块名称(不包含后缀.py)。

    35320

    如何简单地理解Python中的if __name__ == __main__

    摘要通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明');在你自己眼中,你是你自己(__name__ == '__main...假设我们有一个包a,包的结构如下: 代码解读复制代码a├── b│ ├── c.py│ └── __init__.py└── __init__.py12345在包a中,文件c.py,__init...__.py,__init__.py的内容都为: 代码解读复制代码print(__name__)1当一个.py文件(模块)被其他.py文件(模块)导入时,我们在命令行执行 代码解读复制代码python -...c "import a.b.c"1输出结果: 代码解读复制代码aa.ba.b.c123由此可见,__name__可以清晰地反映一个模块在包中的层次。...实际上以模块方式运行时,Python先对run.py执行一遍 import,所以print(sys.path)被成功执行,然后Python才尝试运行run.py模块,但是在path变量中并没有run.py

    7210

    Python代码中的if name == ‘__main__‘的作用是什么

    要搞清楚这个问题,要知道以py作为后缀的Python代码文件,有两种使用方式,第一种方式是直接运行,另一种方式是作为模块被别的py文件导入。...当采用第一种方式直接运行自身时,__name__的值为__main__;当采用第二种方式被别的模块导入时,其__name__的值为其文件名(通常也称为模块名); 举例实测如下:用PyCharm新建一个Python...工程后,新建两个py文件,文件名分别为AAA.py和BBB.py 然后在AAA.py中写上如下代码: print('当前AAA.py中__name__的值为:', __name__) 在BBB.py...中写上如下代码: import AAA 然后分别运行这两个Python文件,结果如下:运行AAA.py的结果如下: 运行BBB.py的结果如下: 这个示例除了应证了上面说的py文件的两种使用方式...'\n') print('当前AAA.py中__name__的值为“{}”'.format(__name__)) if __name__ == '__main__': print('\n')

    47010

    Python pandas获取网页中的表数据(网页抓取)

    从网站获取数据(网页抓取) HTML是每个网站背后的语言。当我们访问一个网站时,发生的事情如下: 1.在浏览器的地址栏中输入地址(URL),浏览器向目标网站的服务器发送请求。...Web抓取基本上意味着,我们可以使用Python向网站服务器发送请求,接收HTML代码,然后提取所需的数据,而不是使用浏览器。...Python pandas获取网页中的表数据(网页抓取) 类似地,下面的代码将在浏览器上绘制一个表,你可以尝试将其复制并粘贴到记事本中,然后将其保存为“表示例.html”文件...因此,使用pandas从网站获取数据的唯一要求是数据必须存储在表中,或者用HTML术语来讲,存储在…标记中。...对于那些没有存储在表中的数据,我们需要其他方法来抓取网站。 网络抓取示例 我们前面的示例大多是带有几个数据点的小表,让我们使用稍微大一点的更多数据来处理。

    8.1K30
    领券