【发布时间】:2015-05-10 15:59:10
【问题描述】:
我是 Python 新手,想知道 Python(或 IPython)是否具有与 R 中的 invisible() 函数等效的功能。invisible() 函数返回值,但如果以交互方式运行则不会显示它们,而只是使它们可用于分配。例如:
doStuff <- function(x) {
// blah blah
return(invisible(retValue))
}
z = doStuff(x) // z has the return value
doStuff(x) // retValue doesn't get displayed
【问题讨论】:
-
不,Python 中没有这样的等价物。
-
出于兴趣,这样的用例是什么?
-
您可以在 IPython 中的行尾添加分号来抑制输出,例如
doStuff(x); -
感谢您的信息 - 其用途是使交互使用事物变得更加容易。例如,我有一个绘图函数,可以计算一些统计数据等并绘制它。有时我想要它计算的统计数据,但如果我不分配结果,不希望它们不必要地显示。我可以通过制作一个“returnStats”标志来做同样的事情,但我不太喜欢那个解决方案。
-
@Holloway 用例是您可以捕获一个值而无需将其打印到控制台,从而保留信息而不会惹恼用户。通常在 Python 中你会为此使用一个类,这可能是多余的。