初学Python,if __name__ == ‘__main__‘:

2023-05-16

if __name__ == '__main__':
若是在当前文件,__name__ 是__main__。若是导入的文件,__name__是模块名 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。

通过if __name__ == '__main__':可以在模块下方增加一些测试代码,如此可以避免测试代码在模块被导入后执行。

testa.py

print("testa.py中的__name__的值为",__name__)


if __name__ == '__main__':

    print("testa.py中的if __name__ == '__main__':")

testa.py执行结果 
 

testa.py中的__name__的值为 __main__
testa.py中的if __name__ == '__main__':

testb.py

import testa

print("testb.py中的__name__的值为",__name__)

if __name__ == '__main__':
    print("testb.py中的if __name__ == '__main__':")

testb.py执行结果

testa.py中的__name__的值为 testa
testb.py中的__name__的值为 __main__
testb.py中的if __name__ == '__main__':

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

初学Python,if __name__ == ‘__main__‘: 的相关文章

  • scikit-learn 中 ColumnTransformer 的自定义 Transformer 出现问题

    我想在 scikit learn 中创建一个稳定的管道来预处理数据 我试图完成的第一步是估算None对数据框中不同列应用不同策略的值 即用平均值 中位数或其他描述性统计数据替换 但是 我 我开始使用SimpleImputer变压器连同Col
  • LSTM 和 CNN:ValueError:检查目标时出错:预期 time_distributed_1 有 3 个维度,但得到形状为 (400, 256) 的数组

    我要申请CNN and LSTM在我的数据上 我只选择一小部分数据 我的训练数据大小是 400 50 我的测试数据是 200 50 仅使用 CNN 模型 它可以正常工作 没有任何错误 只是在添加 LSTM 模型时出现了很多错误 model
  • docker-compose:容器之间的 Redis 连接被拒绝

    我正在尝试设置一个 docker compose 文件 该文件旨在替换运行多个进程 RQ 工作线程 RQ 仪表板和 Flask 应用程序 的单个 Docker 容器解决方案导师 http supervisord org 主机系统是 Debi
  • python类型中的__flags__有什么用

    我最近阅读了pickle源代码 以下代码在copy reg让我很困惑 HEAPTYPE 1 lt lt 9 def reduce ex self proto assert proto lt 2 for base in self class
  • 为什么最新的 Python 3.8.x 版本不提供 Windows 安装程序?

    我需要在Windows计算机上安装Python 3 8并希望使用最新的小版本3 8 12 https www python org downloads release python 3812 官方发布网页提供了源代码的 tarball 文件
  • matplotlib 的 pcolor 中的白线

    在某些 pdf 查看器 例如 OSX 上的 Preview 中 使用以下命令绘制的图matplotlib的 pcolor 有白线 见下图 我怎样才能摆脱它们 源代码非常简单 选择任何数据x y z import matplotlib mat
  • Pyjnius导入jar文件

    Pyjnius 允许您为 java 类创建 python 包装器 例如 Hardware autoclass org myapp Hardware 有没有办法像这样导入现有的 jar 文件 语法是什么样的 您可以将 jar 添加到 CLAS
  • 如何逐行替换(更新)文件中的文本

    我试图通过读取每一行 测试它 然后写入是否需要更新来替换文本文件中的文本 我不想保存为新文件 因为我的脚本已经先备份文件并对备份进行操作 这是我到目前为止所拥有的 我从 os walk 获取路径 并且保证 pathmatch var 正确返
  • 点击后 Dash DropDown 关闭

    我不希望下拉菜单在选择值后关闭 我希望它在我的页面上保持打开状态 我正在使用 dcc Dropdown dcc Dropdown id job type options self options placeholder Select one
  • Python中非常大的整数的math.pow是错误的[重复]

    这个问题在这里已经有答案了 我试图通过计算一个整数的非常大的幂来打印一个非常大的数字 尽管我的代码是正确的 但我没有观察到所需的输出 一般来说 Python解释器可以打印系统内存支持的非常大的整数 考虑到这个假设 下面是我正在运行的代码 a
  • Python/Scipy 2D 插值(非均匀数据)

    这是我上一篇文章的后续问题 Python Scipy 插值 地图坐标 https stackoverflow com questions 5124126 python scipy interpolation map coordinates
  • 如何让 Discord 机器人显示“机器人正在输入...”状态?

    所以如果我有一个像这样的长命令 bot command pass context True async def longCommand ctx typing status sleep 10 bot say Done 不幸的是 在文档或此处没
  • 确保特定列位于数据框中最后(或第一个)的最快方法是什么

    given df df pd DataFrame np arange 8 reshape 2 4 columns list abcd 假设我需要专栏 b 到最后 我可以做 df a c d b 但是确保给定列位于末尾的最有效方法是什么 这就
  • 如何在Python中重命名virtualenv?

    我拼错了名字virtualenv使用以下方法初始化它 virtualenv vnev 我实际上打算创建一个名为的环境venv 尝试重命名后vnev文件夹到venv 我发现这并没有提供太多帮助 激活环境的名称仍然重命名旧的vnev mv vn
  • 在Python中从整个图像中检测表格部分

    我有一张尺寸为 3500x5000 的图像 现在我只想检测整个图像中的表格部分 如果不能直接进行 OCR 处理 则对其进行裁剪和旋转 经过所有搜索后 我想到了使用裁剪图像中的每个单元格的想法https medium com coinmonk
  • Python 多处理:全局对象未正确复制到子级

    前几天我回答了一个关于SO的问题 https stackoverflow com q 67047533 1925388关于并行读取 tar 文件 这是问题的要点 import bz2 import tarfile from multipro
  • pygame.image.load 不工作

    我正在尝试为游戏创建世界地图 但是当我尝试将世界地图加载到屏幕上时 命令行告诉我无法执行此操作 这是代码 import sys import pygame from pygame locals import pygame init Surf
  • 打包布尔数组需要通过 int (numpy 1.8.2)

    我正在寻找更紧凑的方式来存储布尔值 numpy 内部需要 8 位来存储一个布尔值 但是np packbits允许打包 他们 这真是太酷了 问题是要打包在4e6字节数组a32e6字节我们需要首先使用的布尔值数组256e6字节将布尔数组转换为
  • PyQt 和 QSignalMapper/lambdas - 多个信号,单槽

    我在 PyQt 的菜单上有一个操作列表 每个操作对应我想要显示的每个不同的提要 所以我有一个 Y 将活动源设置为 Y Z 将其设置为 Z 等等 对于网络漫画阅读程序 我的菜单上都有 并且觉得自动化方法可能更好 而不是每次都打字 类似于将其添
  • 写入文件的正确方法?

    我想知道这样做是否有什么区别 var1 open filename w write Hello world 并做 var1 open filename w var1 write Hello world var1 close 我发现没有必要

随机推荐