【问题标题】:Is there a Python equivalent to R's invisible() function是否有与 R 的 invisible() 函数等效的 Python
【发布时间】: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 中你会为此使用一个类,这可能是多余的。

标签: python r ipython


【解决方案1】:

Python 中似乎没有与 R 的 invisible() 函数相同的适当函数。但是,您可以简单地使用设置为布尔值的变量,然后使用 if 语句检查布尔值是否设置为 True,然后返回函数的输出。下面是代码的简单版本,你可以让它更复杂并改进它(如果这对你没有帮助,那么我建议你对 python 中的函数输出进行一些研究):

def function(INPUTS):
  # function code to get ouput
  return_value = False
  if return_value == True:
    return ouput

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-31
    • 2015-06-01
    • 1970-01-01
    • 2010-10-30
    • 2018-10-14
    • 2011-02-09
    • 2012-09-14
    • 1970-01-01
    相关资源
    最近更新 更多