Python 中的构造“ if __name__ == '__main__' ” [重复]

2023-11-22

我已经阅读了很多关于此的文章:

if __name__ == '__main__'

但我不明白......我将分享你的代码。更简短的解释是什么?

我创建了一个文件“ab.py”:

def a():
    print('A function in ab file');

a()

第二个文件是“xy.py”

import ab

def b():
    print('b function')

def x():
    print ('s');

x()

if __name__ == "__main__" :
    b()

当我执行这段代码时,会出现以下输出:

A function in ab file
s
b function

这是什么意思?这段代码实际上在做什么?我们为什么要实施这个?我们的代码在没有它的情况下也可以工作。

if __name__ == "__main__":
    b()

您应该养成几乎总是使用它的习惯。

之后发生的任何事情if __name__ == '__main__':仅当您显式运行文件时才会运行。

python myfile.py

但是,如果您导入myfile.py别处:

import myfile

下面什么都没有if __name__ == '__main__':将被调用。

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

Python 中的构造“ if __name__ == '__main__' ” [重复] 的相关文章

  • 如何屏蔽 PyTorch 权重参数中的权重?

    我正在尝试在 PyTorch 中屏蔽 强制为零 特定权重值 我试图掩盖的权重是这样定义的def init class LSTM MASK nn Module def init self options inp dim super LSTM
  • 打印 scrapy 请求的“响应”

    我正在尝试学习 scrapy 在遵循教程的同时 我正在尝试进行细微的调整 我想简单地从请求中获取响应内容 然后我会将响应传递到教程代码中 但我无法发出请求并获取响应内容 建议就好 from scrapy http import Respon
  • 在 Python 中使用 XPath 和 LXML

    我有一个 python 脚本 用于解析 XML 并将某些感兴趣的元素导出到 csv 文件中 我现在尝试更改脚本以允许根据条件过滤 XML 文件 等效的 XPath 查询将是 DC Events Confirmation contains T
  • 如何使用pycaffe重构caffe网络

    我想要的是 加载网络后 我将分解一些特定的图层并保存新的网络 例如 原网 数据 gt conv1 gt conv2 gt fc1 gt fc2 gt softmax New net 数据 gt conv1 1 gt conv1 2 gt c
  • 如何在 Ubuntu 上安装 Python 模块

    我刚刚用Python写了一个函数 然后 我想将其做成模块并安装在我的 Ubuntu 11 04 上 这就是我所做的 创建 setup py 和 function py 文件 使用 Python2 7 setup py sdist 构建分发文
  • 如何用 python 和 sympy 解决多元不等式?

    我对使用 python 和 Sympy 还很陌生 并且遇到了使用 sympy 解决多元不等式的问题 假设我的文件中有很多函数 如下所示 cst sqrt x 2 cst exp sqrt cst x 1 4 log log sqrt cst
  • 类属性在功能上依赖于其他类属性

    我正在尝试使用静态类属性来定义另一个静态类属性 我认为可以通过以下代码来实现 f lambda s s 1 class A foo foo bar f A foo 然而 这导致NameError name A is not defined
  • 在 Python 中使用 sec 函数的反函数

    我正在创建一个程序 用于计算从一定高度范围和设定初始速度发射射弹的最佳角度 在我需要使用的最终方程中 存在一个反 sec 函数 它导致了一些麻烦 我已经导入了数学并尝试使用 asec 无论如何 但是数学似乎无法计算反秒函数 我也明白 sec
  • 使用正则表达式解析 Snort 警报文件

    我正在尝试使用 Python 中的正则表达式从 snort 警报文件中解析出源 目标 IP 和端口 和时间戳 示例如下 03 09 14 10 43 323717 1 2008015 9 ET MALWARE User Agent Win9
  • 如何使用 openpyxl 对工作簿中的 Excel 工作表/选项卡进行排序

    我需要按字母数字对工作簿中的选项卡 工作表进行排序 我在用openpyxl https openpyxl readthedocs io en default 操作工作表 您可以尝试排序workbook sheets list workboo
  • 如何在 Windows 上使用 Python 3.6 来安装 Python 2.7

    我想问一下如何使用pip install对于 Python 2 7 当我之前安装并使用 Python 3 6 时 我现在必须使用 Windows 上的 Python 版本 pip install 继续安装 Python 3 6 我需要使用以
  • 使用 genfromtxt 导入 numpy 中缺失值的 csv 数据

    我有一个 csv 文件 看起来像这样 实际文件有更多的列和行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 假设文件的名称是info csv如果我尝试使用导入它 data numpy genfromtxt i
  • Pandas:根据列名进行列的成对乘法

    我有以下数据框 gt gt gt df pd DataFrame ap1 X 1 2 3 4 as1 X 1 2 3 4 ap2 X 2 2 2 2 as2 X 3 3 3 3 gt gt gt df ap1 X as1 X ap2 X a
  • Python unicode 字符代码?

    有没有办法将 Unicode 字符 插入 Python 3 中的字符串 例如 gt gt gt import unicode gt gt gt string This is a full block s unicode charcode U
  • 在pycharm中调试python代码

    这个问题类似于this https stackoverflow com questions 10240018 how to use pycharm to debug python script一 我正在尝试调试pyethapp https
  • Python 矩阵每一行的总和

    lista 1 2 3 4 5 6 7 8 9 print lista def filas lista res for elemento in lista x sum lista elemento res append x print re
  • 是否可以写一个负的python类型注释

    这可能听起来不合理 但现在我需要否定类型注释 我的意思是这样的 an int Not Iterable a string Iterable 这是因为我为一个函数编写了一个重载 而 mypy 不理解我 我的功能看起来像这样 overload
  • 将 Scikit-Learn OneHotEncoder 与 Pandas DataFrame 结合使用

    我正在尝试使用 Scikit Learn 的 OneHotEncoder 将 Pandas DataFrame 中包含字符串的列替换为 one hot 编码的等效项 我的下面的代码不起作用 from sklearn preprocessin
  • 具有指定置信区间的 Seaborn 条形图

    我想在 Seaborn 条形图上绘制置信区间 但我已经计算出置信区间 如何让 Seaborn 绘制我的置信区间而不是尝试自行计算它们 例如 假设我有以下 pandas DataFrame x pd DataFrame Group 1 0 5
  • 如何使用 Django (Python) 登录表单?

    我在 Django 中构建了一个登录表单 现在我遇到了路由问题 当我选择登录按钮时 表单不会发送正确的遮阳篷 我认为前端的表单无法从 查看 py 文件 所以它不会发送任何 awnser 并且登录过程无法工作 该表单是一个简单的静态 html

随机推荐

  • C# foreach on IEnumerable vs. List - 元素修改仅对数组持久 - 为什么?

    在 C 中 我注意到如果我在生成的 LINQ 上运行 foreach 循环IEnumerable
  • 从内存流上传到天蓝色存储返回空文件

    我正在使用内存流将 System Drawing Bitmap 写入 Azure 存储 我有正确的凭据 并且天蓝色的所有内容都正确连接 我已经使用输入流成功地将图像上传到 blob 中 所以我认为这一定是我使用内存流对象的方式有问题 经过一
  • 在windows 10 Home上安装Docker,可以吗?

    Docker 需要 win 10 pro 因为它需要一些虚拟化扩展 HyperV 和容器 win 10 Home 可以满足这些要求吗 是的 可以在Windows 10 Home上完成 在win10Home v1809 27 01 2019上
  • 继续中断的 git-push(恢复上传)

    所以我正在做这个相当大的 git push 大约 2 GB 的数据被推送到我的服务器 突然我的 wifi 连接断了 因此 现在在通过慢速连接传输了超过 250 MB 数据后 我必须重新开始 只是冒着整个事情重来的风险 rant 当对 SSH
  • 如何停止 Elmah 日志记录?

    我在 Azure 网站上使用 Elmah MVC 2 和 MVC3 ASP NET 4 5 我已将其设置为通过 web config 记录到网络服务器上的 XML 文件 这一切都有效 但是我想暂时停止它 因为我相信它可能会减慢网络服务器的速
  • 如何找到浏览器中断文本段落的位置

    我需要在浏览器自然在文本段落中添加换行符的位置添加换行符 例如 这是一段很长的文字 n跨越段落中的多行 这是浏览器选择在以下位置中断的段落 n 我需要找到这个位置并插入一个 有谁知道有什么 JS 库或函数可以做到这一点吗 到目前为止 我找到
  • 如何在外部隐藏/显示 ng-grid 列?

    我在用ng grid我想去哪里隐藏 显示外部列按钮点击 我尝试过这个 但它不起作用 scope gridOptions gridScope columns 0 toggleVisible 尝试使用 ng click 指令 你的 html 按
  • 如何告诉 gcc 在 switch/case 语句上不间断地发出警告(或失败)?

    我有一个复杂的switch声明 我忘了加上break在其中之一的末尾cases 这是相当合法的 因此我陷入了下一个case 如果我忽略了 有什么方法可以让 gcc 发出警告 甚至更好 失败 break陈述 我意识到有许多有效的用例 并且我经
  • 将数字 (22,21) 映射到 BigDecimal 时,Hibernate 导致结果精度损失

    我在 Oracle 11g 中将此列映射为 NUMBER 21 20 在 Hibernate 中映射为 Column name PESO precision 21 scale 20 nullable false public BigDeci
  • Workflow Foundation - Literal 仅支持值类型和不可变类型 System.String

    我对名为 MyCodeActivity 的 WF 代码活动进行了以下单元测试 ExpectedException typeof ArgumentException TestMethod public void ShouldRequirePa
  • Chartjs:尝试旋转 y 轴标签

    我尝试过类似的事情maxRotate and rotate 将它们放入scaleLabel等等 我在文档中找不到任何内容 谷歌上的搜索结果也没有多大帮助 var myChart new Chart ctx type line data ch
  • 在 PHP 中包含大量文件(就像基于文件的会话一样)是否不好?

    在阅读了基于文件的 PHP 会话对于性能而言如何不是最好的之后 我开始思考 这是否意味着包含大量文件的 PHP 脚本也很糟糕 因为它包含一个文件 或者这与检索会话数据文件的方式不同 您应该使用 spl autoload register 和
  • 自动跟踪程序执行[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我想知道我们是否可以在任何 C 或 C 应用程序中启用跟踪 例如 使用 gcc 选项或小工具 我将启用跟踪 并将跟踪打印在控制台上或转储到文件中 由
  • C++1z 范围的状态? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 C 委员会中有一个关于范围的研究小组 但我没有关注这个研究组的历史 并且我不确定 C 1z 预计会提供什么样的交付 而且我不使用 boost range 所以我对现有实践没有清晰的看
  • 在 SQLAlchemy 中查询混合属性

    我将文件路径存储为数据库中的相对路径 但随后使用混合属性在映射时将其转换为绝对路径 当我使用此属性查询时 它会抛出错误 这是模型 class File Base tablename files f path Column Unicode 3
  • 文本框宽度问题 - ASP.NET

    我在网站页面上有一个生成文本框的用户控件 文本框已指定宽度 但文本框间歇性地以比代码中指定的宽度小得多的宽度显示 我要求用户向我发送 查看源代码 输出的副本 以便我可以比较好结果和坏结果 我所说的 间歇性 是指类似的构建 不同的计算机 请注
  • 在商业软件中分发jquery许可证[关闭]

    Closed 这个问题是无关 目前不接受答案 我正在构建一个使用 jquery 的商业 Web 应用程序 我想我需要使用MITjquery 的许可证 因为该应用程序是商业应用程序 当我在维基百科上查看 MIT 许可证时 它说 这是一个宽松的
  • 无法连接到“localhost”上的 MySQL 服务器 (10061)

    我最近在 Windows 2003 上安装了 MySQL 5 并尝试配置实例 一切工作正常 直到我进入 应用安全设置 此时它给了我上述错误 Can t connect to MySQL server on localhost 10061 我
  • 使用ANT更新内部版本号并注入源代码

    在我的 build xml 文件中 我在属性文件中增加构建版本号 如下所示
  • Python 中的构造“ if __name__ == '__main__' ” [重复]

    这个问题在这里已经有答案了 我已经阅读了很多关于此的文章 if name main 但我不明白 我将分享你的代码 更简短的解释是什么 我创建了一个文件 ab py def a print A function in ab file a 第二