【问题标题】:What is the purpose of double and triple underscore _ in iPython?iPython 中双下划线和三重下划线 _ 的目的是什么?
【发布时间】:2014-02-12 05:56:01
【问题描述】:

据我了解,独立 _ 仅检索最后一个控制台输出,双下划线 __ 之前的输出和三重下划线 ___ 从最后一个输出获得第三个。这是一个有趣但乍一看似乎没用的功能......

当我不需要名称时,我使用_ 作为变量占位符,但是_ 以及_____ 还有其他用途吗?还有,为什么没有四重下划线或更多?

这仅适用于 iPython,普通的 python 2.7 解释器会显示除单个下划线以外的任何错误。

【问题讨论】:

  • 好吧,除了检索变量之外,还有一些关于下划线使用的约定,也许你想看看hackernoon.com/…。这里解释了这些约定。

标签: ipython


【解决方案1】:

独立 _ 仅检索最后一个控制台输出

不是“控制台输出”,而是实际的结果值,即对象本身:

>>> object()
<object object at 0x1002b10a0>
>>> _
<object object at 0x1002b10a0>

_还有其他用途吗?

按照约定,_ 用作名称,其值被忽略(尽管您可能更喜欢名称 dummy)。不过,这只是一个约定。

...连同 __ 和 _

没有。 _____ 没有其他用途。

为什么没有四重下划线或更多?

就是没有。 声称这是一个无用的功能,那你为什么想要更多呢?

(我尝试回答了你帖子中所有明确的问题,但我不得不承认我不确定你在说什么......)

【讨论】:

  • 有人将其编码到解释器中,我在问为什么,因为我不知道。对我来说它没用,其他人认为如果它在那里是个好主意。
  • 它没有被编码到语言的“核心”中。它被编码到语言的交互式外壳中,包括ipython。有些人,包括我自己,发现_ 很有用。其他人(不包括我自己)也发现_____ 很有用。我认为这是包含这个简单功能的充分理由。
猜你喜欢
  • 2010-10-08
  • 2017-09-25
  • 1970-01-01
  • 2018-12-22
  • 2011-10-19
  • 2021-11-28
  • 1970-01-01
  • 2013-09-16
  • 1970-01-01
相关资源
最近更新 更多