当前位置: 首页 > 知识库问答 >
问题:

为什么打印(__name__)给出内置项?

劳和雅
2023-03-14

我在用pycharm。2017.1.2. 我在py3环境中安装了anaconda2。在Pycharm中,我使用的是Python3解释器,代码很简单:

print(__name__)

在Pycharm的Python控制台中,它打印内置的。

如果我单击“run”(运行)按钮,它会按预期打印主屏幕。

为什么PyCharm Python控制台打印的是内置的而不是主的?

共有2个答案

邰伟彦
2023-03-14

如果运行环境是远程的,并且未安装IPython,则会发生这种情况。这里报道的是PyCharm问题。它发生在2018.2版本中,正在进行修复。要解决这个问题,只需在远程环境中安装IPython即可。

顾靖
2023-03-14

PyCharm Python控制台实际上正在运行一个名为pydevconsole的模块。py(应位于C:\Program Files\JetBrains\PyCharm 2017.1.2\helpers\pydev\pydevconsole.py)。此模块创建一个解释器,并将其设置为内置模块的属性。

因此,PyCharm控制台上的打印(\uuu name\uuuuu)将显示内置的。

在执行过程中(当您单击“运行”时),调用您指定的Python解释器,而不是pydev控制台模块。因此print(__name__)按预期显示__main__

 类似资料:
  • 问题内容: 我有以下代码行: 我希望看到的结果是0.555,但是它将打印出零。有人可以帮我理解为什么会这样吗?我目前正在学习编程,并感谢您的帮助。 谢谢! 问题答案: 发生这种情况是因为您在不知不觉中正在执行Integer Division。为了使计算更快,计算机在不涉及十进制数的情况下使用整数除法,因此会丢失十进制值。 试试看: 要么 要么 要么 要么

  • 问题内容: 我生成了x的两个矩阵: 第一矩阵:和。 第二矩阵:和。 使用以下代码,第一个矩阵花费了8.52秒完成: 使用此代码,第二个矩阵花费了259.152秒来完成: 运行时间显着不同的原因是什么? 正如评论所说,仅打印需要秒,而给。 正如其他指出它对他们正常工作的人一样,例如,我尝试了Ideone.com,这两段代码以相同的速度执行。 测试条件: 我从 Netbeans 7.2 运行了此测试,

  • 所以我有这个代码,叫我白痴哈哈,但是我不能让它打印7。 代码: 我需要知道如何改变与函数中的参数同名的变量。 任何帮助都将不胜感激,如果你不明白这个问题,我很乐意解释更多。

  • 当我在循环中使用打印时,我得到值,但当我返回答案并打印它时,我得到。知道为什么吗?

  • 问题内容: 我想知道当您尝试捕获StackOverflowError并提出以下方法时会发生什么: 现在我的问题是: 为什么此方法打印“ 4”? 我以为是因为在调用堆栈上需要3个段,但是我不知道3的来源。当您查看的源代码(和字节码)时,通常导致的方法调用要多于3(因此,调用堆栈上的3个段是不够的)。如果是由于优化而应用了Hotspot VM(方法内联),我想知道其他VM上的结果是否会有所不同。 编辑

  • 在python为什么 我想当时,这应该是正确的。应该给我,但是为什么没有?如果这是对的,为什么当,它给我?