在这个案例中,我们关心的是__name__变量。如果将Python脚本文件作为主程序运行,也就是通过下面的命令运行foo.py。...B 10.0 after __name__ guard 如果当前的Python脚本按着主程序的方式执行(使用python命令),那么__name__变量的值就是"__main__"。...module 如果一个Python脚本,同时即可以作为主程序执行,也可以作为模块被导入,这就要求在模块被导入时不执行作为主程序执行时的代码,所以如果是在主程序中执行的代码,应该使用__main__变量进行判断...关于__name__的一些疑问 有的同学问,在脚本文件中可以有多个__name__校验代码块吗?...其实通常只有一个__name__校验代码块吗,但Python解析器并不会阻止你编写多个__name__校验代码块吗。
有时运行Python项目时不需要有指定入口文件(命令行比较常见,例如“ python -m http.server 8000”),可能是因为该项目中有main.py文件,在软件包中作为“文件”来执行。...他们之所以要编写__name__ =='__main__',可能是因为想表明main()只在直接执行当前脚本时才运行,而在将其导入到其他模块时不要运行。 但是,我个人不推荐这种写法。...最后,在多个文件的情况下,也不建议在非入口的文件中写入这条语句,因为这条语句能做的最多也就是编写一些测试代码。即便如此,测试代码也应分开写到专用目录或文件中。...为什么要写这样的if语句?你压根不应该将这段代码包装成一个函数! 总结 打破惯性思维,编写真实的代码。main函数是某些语言的唯一入口,但不应在Python中使用。...你应该了解脚本语言的特征,并学习简单而优雅的风格。 你可以使用main.py,而不是编写main函数。
Python中的函数分为三种类型,即内置函数、用户定义函数和匿名函数。同时我们需要明确,main 函数与 Python 中的任何其他函数都是一样的,没有区别。...if __name__== "__main__" : main() main 函数对于 Python 来说是必须的吗 在 Python 中拥有 main 函数并不是强制性的,但是,在上面的示例中...为了解决这个问题,Python 有一个特殊的内置变量,称为 __name__,可以根据运行或执行脚本的方式,此变量会被分配字符串 __main__。...Python 中的 __main__ 是什么 Python main 函数是任何 Python 程序的入口。...因此如果我们直接运行脚本,Python 会将 __main__ 分配给 __name__,即 __name__=“__main__”。
参考链接: 为什么在Python中import星号*是个坏主意 声明:如果你每天写Python,你会发现这篇文章中没有新东西。...:pizza.py代码中的第一条打印语句在import的时候执行了。...Python的模块搜索路径在运行时可作为sys.path 如果将模块作为脚本文件运行,则将包含该模块的目录添加到sys.path中,否则,会将当前目录添加到sys.path中 当人们将一堆测试或示例脚本放在主包相邻的目录或包中时...结束语 我希望阅读这篇文章之后,你将会对Python的导入有更好的理解,并且可以最终顺利地将你工具箱中的巨大脚本分解成多个部分。...最后,Python中的所有东西都非常简单,即使它不能完整地满足你的需求,你总可以在运行时随时修改任何内容。 目前想写的就这些,谢谢你的关注。 接下来如何,下次分解!
模块名称由解释器在__name__变量中设置 当从CLI调用模块时,其名称被设置为__main__ 那么到底什么是模块呢?...两种情况下,你需要把模块放入一个包中。 首先是隔离一个模块的定义。...Python的模块搜索路径在运行时可作为sys.path 如果将模块作为脚本文件运行,则将包含该模块的目录添加到sys.path中,否则,会将当前目录添加到sys.path中 当人们将一堆测试或示例脚本放在主包相邻的目录或包中时...结束语 我希望阅读这篇文章之后,你将会对Python的导入有更好的理解,并且可以最终顺利地将你工具箱中的巨大脚本分解成多个部分。...最后,Python中的所有东西都非常简单,即使它不能完整地满足你的需求,你总可以在运行时随时修改任何内容。 目前想写的就这些,谢谢你的关注。 接下来如何,下次分解!
原文链接: https://medium.freecodecamp.org/whats-in-a-python-s-name-506262fe61e8 大家应该已经在很多 Python 脚本里见到过...为了更高效地重用这些代码,你需要在 Python 程序中导入来自其他文件的代码。 所以,在__name__ 变量的帮助下,你可以判断出这时代码是被直接运行,还是被导入到其他程序中去了。...当导入 nameScript 的时候,Python 就在本地和环境变量 PATH 指向的路径中寻找对应名称的 .py 文件,找到之后,将会运行导入的文件中的代码。...如果你试着在 importingScript 中打印 __name__ 变量的值,那当你直接执行 importingScript 的时候,它也会输出 '__main__'。...利用这个特性,你既可以在程序中导入模组来使用,也可以直接把模组本身作为程序来运行。
大家应该已经在很多 Python 脚本里见到过 __name__ 变量了吧?...为了更高效地重用这些代码,你需要在 Python 程序中导入来自其他文件的代码。 所以,在__name__ 变量的帮助下,你可以判断出这时代码是被直接运行,还是被导入到其他程序中去了。...当导入 nameScript 的时候,Python 就在本地和环境变量 PATH 指向的路径中寻找对应名称的 .py 文件,找到之后,将会运行导入的文件中的代码。...如果你试着在 importingScript 中打印 __name__ 变量的值,那当你直接执行 importingScript 的时候,它也会输出 '__main__'。...利用这个特性,你既可以在程序中导入模组来使用,也可以直接把模组本身作为程序来运行。
本文由Python编程时光整理 大家应该已经在很多 Python 脚本里见到过 name 变量了吧?...为了更高效地重用这些代码,你需要在 Python 程序中导入来自其他文件的代码。 所以,在 __name__ 变量的帮助下,你可以判断出这时代码是被直接运行,还是被导入到其他程序中去了。...让我画个示意图,你就能看出这和之前的区别了: ? 在 importingScript.py 里,__name__ 变量就被设置为 __main__。...当导入 nameScript 的时候,Python 就在本地和环境变量 PATH 指向的路径中寻找对应名称的 .py 文件,找到之后,将会运行导入的文件中的代码。...利用这个特性,你既可以在程序中导入模组来使用,也可以直接把模组本身作为程序来运行。
# 预期30然后在主程序main.py中导入:# main.pyimport utils # 导入时会自动执行utils.py里的print语句print("主程序开始运行")运行main.py时,你会发现先输出了...正确做法:使用if __name__ == "__main__"修改utils.py:# utils.pydef add(a, b): return a + b# 只有当直接运行这个脚本时才执行测试...if __name__ == "__main__": print(add(10, 20)) # 直接运行utils.py时才会执行现在导入到main.py中,测试代码就不会自动执行了。...这个魔法变量__name__的规则是:当脚本被直接运行时,__name__等于"__main__"当脚本被导入时,__name__等于模块名(如 "utils")实用技巧:用主函数组织代码# utils.pydef...标准答案:用于判断模块是被直接运行还是被导入当直接运行时,__name__为"__main__",可执行测试代码当被导入时,不执行测试代码,避免干扰主程序是 Python 中组织模块入口代码的标准方式延伸问题
当我们定义了一个 function(),并不意味着我们要调用它,所以我们需要运行这个 function(),一个简单的办法就是在 input 框中输入 function()。 ?...if __name__ == '__main__': #code_here 如果执行该脚本的时候,该 if 判断语句将会是 True,那么内部的代码将会执行。...运行脚本后,在 main 函数中调用函数 func, 如果不指定参数 func(), 那么将会出错。...,那么该参数在函数调用过程中可以不需要明确给出。...参数组合 在 Python 中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这 4 种参数都可以一起使用,或者只用其中某些,但是参数定义的顺序必须是 必选参数 > 默认参数 > 可变参数 >
处理异常 Try 语句 我们可以使用 try 语句 来处理异常。 try:这是 try 语句中的唯一必需子句。该块中的代码是 Python 在 try 语句中首先运行的代码。...finally:在 Python 离开此 try 语句之前,在任何情形下它都将运行此 finally 块中的代码,即使要结束程序,例如:如果 Python 在运行 except 或 else 块中的代码时遇到错误...导入本地脚本 我们实际上可以导入其他脚本中的 Python,如果你处理的是大型项目,需要将代码整理成多个文件并重复利用这些文件中的代码,则导入脚本很有用。...import useful_functions as uf uf.add_five([1, 2, 3, 4]) 使用 if main 块 为了避免运行从其他脚本中作为模块导入的脚本中的可执行语句,将这些行包含在...当我们运行脚本时,Python 会将此模块识别为主程序,并将此模块的 name 变量设为字符串 "__main__"。对于该脚本中导入的任何模块,这个内置 name 变量会设为该模块的名称。
1 脚本与命令行结合 可以使用下面方法运行一个Python脚本,在脚本运行结束后,直接进入Python命令行。这样做的好处是脚本的对象不会被清空,可以通过命令行直接调用。...python -i script.py 或者你安装了ipython ipython -i script.py 2 使用__name__ 当我们编写Python库模块的时候,我们往往运行一些测试语句。...当这个程序作为库被import的时候,我们并不需要运行这些测试语句。一种解决方法是在import之前,将模块中的测试语句注释掉。Python有一种更优美的解决方法,就是使用__name__。...当直接运行TestLib.py时,__name__为"__main__"。如果被import的话,__name__为"TestLib"。...def lib_func(a): return a + 10 def lib_func_another(b): return b + 20 if __name__ == '__main__'
在研究Python代码时,你可能经常会看到 __name__ 变量。...下面是一个示例代码: if __name__ == '__main__': main() 下面,我们将向你展示如何使用这个变量在Python中创建模块。 为什么使用__name__变量?...在Python中,你可以将该脚本作为模块导入到另一个脚本中。 由于这个特殊的变量,你可以决定是否要运行脚本。或者希望导入脚本中定义的函数。 __name__变量包含哪些值?...如果你要在importingScript中打印 __name__,那么将输出 __main__。原因是Python使用了importingScript范围内已知的值。...总结 在这篇简短的文章中,我们解释了如何使用 __name__ 变量来编写模块。你还可以自己运行这些模块进行测试和使用。 —End—
你需要掌握的知识点随机数生成、函数定义、变量与数据类型、输入/输出、条件语句和循环结构以及简单的函数知识点,如果你还没掌握可以移步到玩转社区新功能 · Python精品学习库 - 腾讯云开发者社区-腾讯云...我们的目标在这个教程中,你将学会如何运用基本的编程概念和语法,编写一个简单但富有趣味的投色子小游戏。通过这个游戏,你将了解到变量、循环、条件语句等编程基础知识,同时培养逻辑思维和解决问题的能力。...if __name__ == "__main__": main()if __name__ == "__main__": 是一个条件判断语句,用于判断当前脚本是否作为主程序直接运行。...当一个 Python 文件作为脚本直接运行时,Python 解释器会将特殊变量 __name__ 设置为 "__main__",表示该文件是主程序。...写在最后大家可以直接在代码处,鼠标悬浮在语言为python的代码块上,可看到代码块的”运行”按钮,点击“运行按钮”将拉起弹框,并自动完成环境初始化并展现运行结果。
GBK,LINUX 服务器要求的是 UTF-8 那么除了重写一份代码,还有其他选择吗 python 代码转换编码 首先,我们需要一个可以读取和写入不同编码格式的函数。...这里使用 Python 内置的 open 函数,它允许我们指定文件打开的模式以及编码格式。...其次,调用 sys 的 argv 进行传递参数方便直接使用脚本 import sys import codecs def convert_encoding(input_filename, output_filename...python convert_encoding.py abc.py abc_utf8.py gbk utf-8 linux 命令语句 在类 Unix 系统(如 Linux 或 macOS)中,你可以使用...无论是批量转换还是单个文件处理,掌握这些技巧都能帮助我们避免编码带来的困扰,让我们的代码在任何平台上都能顺利运行。 当然我更推荐 linux 的命令,更加简单
在 Python 代码中,我们经常会看到 if __name__ == '__main__': 本文详细总结一下用法。...先给出结论,对该语句用法简单的解释就是:如果if __name__ == '__main__' 所在模块是被直接运行的,则该语句下代码块被运行,如果所在模块是被导入到其他的python脚本中运行的,则该语句下代码块不被运行...另外我们知道,python文件有两种使用方法: 第一种:直接作为脚本执行 第二种:import到其他的python脚本中被调用(模块重用)执行,也就是作为模块(库)被导入执行 不管是直接运行还是导入,最顶层的代码都会被运行...但实际使用过程中,python文件作为模块被其它python脚本调用执行的时候,有的代码我们是不希望被运行的。...而if __name__ == '__main__' 的作用就是定义这两种情况执行代码的执行方式,在该语句下的代码只有在文件作为脚本直接执行情况下才会被执行,而import到其他脚本中是不会被执行的。
内置 breakpoint() 任何使用过 pdb (Python debugger) 的人都知道它有多么强大。它能暂停脚本的执行,允许你在程序的内部手动浏览,并且单步执行语句。...在 Python 3.7 中,breakpoint() 是内置函数,可以非常容易地在任何时候插入调试器。...pdb 有大量有用的命令,但是你也可以在其中运行正常的Python 语句。...它们是关联元数据与变量的语法支持,可以是任意表达式,在运行时被 Python 计算但被忽略。注解可以是任何有效的 Python 表达式。...在 Python 3.5 (PEP 484)中,使用注解进行编程的语法变得标准化,此后,Python 社区广泛使用了类型提示。
7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。...脚本的执行命令如下 也可以在Pycharm中执行,鼠标选中要执行的文件,点击Run即可 也可以在Pycharm中打开Terminal终端执行 Python 导入 导入是将Python的一些功能函数放到当前的脚本中使用的一种操作...,除了Python内置函数外,任何其他函数都需要import到当前脚本中才能使用 导入使用import关键字 + 模块名的方式导入功能函数或者模块 在python_heros中新建import_sample.py...__main__,既 __name__ == '__main__' Python中使用缩进来表示代码块 创建一个脚本main_sample.py,练习main函数 入口函数是整个脚本的末尾 import...time if __name__ == '__main__': print(time.time()) Python 中并不是一定需要入口函数 二、Python 中的变量 变量是一个容器,用来存储数据
1、这段代码的功能 一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行。...即,if __name__=="__main__": 之前的语句被执行,之后的没有被执行。...同样举例说明,我们在test.py脚本的if __name__=="__main__":之前加入print __name__,即将__name__打印出来。...后序 我试图使用长篇大论来阐述,在 Python 中如何理解 if __name__ == '__main__' 这个问题,不知道我有没有描述得足够的明白。...使用 Python 是有无限可能的,你可以写出很多简洁优雅的代码。