首页 > 编程语言 >Python之if __name__ ==' __main__ '语句

Python之if __name__ ==' __main__ '语句

时间:2024-08-01 08:55:16浏览次数:8  
标签:__ 文件 name Python 模块 main

     每个程序都会有一个逻辑入口,if __name__='__main__'即表示当前Python程序的逻辑入口。Python本身并没有对此进行规定,使用if __name__=='__main__'只是一种编码习惯。
     __name__是 Python 中的内置变量,用于表示当前模块的名字,而Python 中一个类型的文件就可看成模块,每个模块有不同的名字,但模块本身看自己都称为__main__。

     if __name__ ==' __main__ '表示当前运行的文件是运行主体而不是其他文件引入的模块,因为只有当运行的主体是当前文件本身时,文件看自己的__name__ 才会是 __main__;而当前文件作为其他文件的模块时,当前文件是什么名称,__name__ 就是什么名称,此时不会满足if __name__ ==' __main__ '判断,该if判断下的代码逻辑也就不会被执行。

标签:__,文件,name,Python,模块,main
From: https://www.cnblogs.com/zdt168/p/18335906

相关文章

  • 校园闲置物品交易小程序设计与实现/校园二手物品交易网站/计算机毕业项目/课程设计
    摘  要近年来,随着网络产业的飞速发展,人们的日常生活和工作方式也随之发生变化。许多学校正在把常规的工作方式与因特网相融合,借助因特网的力量来提升管理者的工作能力。当前很多校园闲置物品交易流程都有很多的不便性,所以针对校园闲置物品交易的实际情况,提出可以针对校园闲......
  • JDK的安装和配置
    1.2JDK的安装和配置目录1.2JDK的安装和配置1.2.1下载JDK1.2.2配置环境变量JAVA_HOME设置PATH设置CLASSPATH设置1.2.3测试JDK是否安装成功1.2.1下载JDK首先我们需要下载java开发工具包JDK,下载地址:https://www.oracle.com/java/technologies/downloads/,在下载页面中......
  • services.tty、services.build 和 services.port 必须是映射
    我开始使用Docker和Python,并按照我购买的教科书进行操作。我遇到了这个错误,但我认为我的缩进是正确的。其他问题的答案都是关于缩进的,我可以在其他问题中看到缩进错误,但是是的,我认为我的答案是对的,所以我不确定我还做错了什么。version:'3.8'services:build:.......
  • 在生产中使用 Djoser 和 Django 发送电子邮件时出现“504 网关超时”
    当我使用Djoser进行用户注册和登录管理时,我在Django生产环境中遇到问题。当用户请求创建帐户时,API需要大约一分钟的时间,然后返回504GatewayTime-out错误。在我的本地环境中,该过程正常工作,并且发送激活电子邮件没有任何问题。我尝试过的:增加......
  • 在 Python Langchain 应用程序的 Docker 文件中运行 Ollama
    背景信息我有一个使用langchain和Ollama的Python应用程序。在本地运行这个程序效果非常好,因为我的机器上运行着Ollama客户端。我想要做的是在无服务器平台(例如GCR)上托管这个应用程序,为了做到这一点,我需要容器化应用程序。这对于应用程序的python端来说很容......
  • 为什么当我们返回主程序时,这个全局不会保持更新,除非我向程序添加一个新的入口点?
    m1是collect_finetuning.py中的全局变量:m1:list=[]当我通过以下方式运行collect_finetuning.py时:if__name__=="__main__":main()我们看到这种行为,其中collect_finetuning中的函数更新了m1,并且它丢失了main()中的更新值:|||我能够在第二张图片......
  • 如何使用 Paramiko 进行 Tailscale 身份验证?
    我正在编写一个脚本,该脚本使用TailscaleAPI获取设备列表,然后使用Paramiko通过SSH连接并查询设备上的一些数据。昨天一切正常,但今天所有连接都失败了。我意识到,在幕后,SSH失败了,因为它由Tailscale管理,需要重新身份验证:sshroot@MyDevice#TailscaleSSHrequiresana......
  • 如何计算任意可迭代对象(例如生成器)中的项目数量?
    假设我有一个任意的可迭代对象-例如,一个迭代文件行和yield匹配正则表达式的生成器。我如何计算该可迭代对象中的项目数,假设我不这样做不关心元素本身?可以使用sum()函数来计算可迭代对象中的元素数量,而无需存储它们。以下是如何操作:defcount_item......
  • 跟踪 VScode 中的 python 警告
    我想知道哪一行代码导致我的代码中引发警告。可以在VScode中实现吗?例如,我在终端中看到警告:目前,我只能看到在python终端中引发警告的导入模块,但我无法将其跟踪到代码的确切行,只能跟踪到该行导入模块的。也许,可以在警告上添加断点或更改某些设置,或使用扩展?以下......
  • Celery 返回有关一名工作人员当前任务的错误信息
    我有一个捆绑包,其中包含用于任务的Celery和RabbitMQ以及用于Web请求的FastApi应用程序。celery应用程序从命令提示符启动celery-Acelery_appworker-linfo-PgeventRabbit部署在Docker容器中。FastApi从python启动脚本。这是代码。问......