栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

我不了解Python的主要功能。那个东西是什么?[重复]

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我不了解Python的主要功能。那个东西是什么?[重复]

这样做的目的基本上是,可以且仅当脚本直接自己运行时,才可以定义中央入口点。因为

__name__
将永远只能是等于
'__main__'
,如果是独立运行。将脚本的实际内容放在单独的函数中,其他脚本可以导入该函数并在需要时运行它,因此导入脚本后,该函数不会立即运行。

当您只需要快速使用某些东西时,它通常也用于库模块中以具有一些默认行为。例如,该

http.server
模块提供了广泛的功能,可以使用您能想到的任何功能来创建自己的HTTP服务器。如果只想让一个简单的服务器静态地静态侦听和传递文件,则可以在从命令行运行时使用模块的默认行为。

python3 -m http.server
在命令行上运行将完全做到这一点;运行该
http.server
模块,该模块本身将在其
__name__== '__main__
块中启动一个简单的HTTP服务器。

针对您的评论:

对于充当库,包含类型或函数的普通模块,您的应用程序需要,而无需

main
功能或主块。对于直接调用的脚本,例如实际启动应用程序的启动脚本,您将拥有某种未封装在函数或类中但可以直接运行的代码。那将是一件事情,您可以放入一个主函数,然后分别调用它。这使您可以更自由地放置代码。例如,您可以
main
直接在文件的开头使用该函数,而在其中开始的其他函数将在文件中进一步定义。然后脚本的最后一部分是
main()
。您不一定需要将其放入
if__main__ == '__main__':
条件,您可以直接调用它。因此,例如,您的脚本可能如下所示:

def main ():    # doing something    utilityFunction(...)    otherUtilityFunction(...)def utilityFunction (...):    ...def otherUtilityFunction (...):    ...main()

如果不将代码放入单独的函数中,则必须在底部进行所有处理(在函数定义之后),并且如果您只是想快速查看在执行操作时要做什么,可能会适得其反。脚本被直接调用。

现在,正如我所说,您无需将其放入主条件块;您可以直接调用它。但是,如果出于某种原因而需要包含该文件(例如,因为要将其封装到其他东西中),或者想要从交互式外壳(IDLE或其他东西)中反复调用它,则可能不需要希望

main()
仅在导入模块时运行,而仅在实际执行模块功能时运行。那是您应该放入
main()
条件的地方;这样,除非您直接执行模块,否则它将不会执行。

通常,始终将

main()
呼叫置于这种状态并不是一个坏主意,因为它永远不会受到伤害,但是在以后的某个时刻通常会变得有用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/611713.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号