【问题标题】:How to show calltips in IDLE?如何在 IDLE 中显示呼叫提示?
【发布时间】:2018-12-04 15:00:43
【问题描述】:

在 IDLE 中编写代码时,有时当我在示例中插入像 re.sub( 这样的函数时,会弹出一个窗口,解释该函数及其所需的输入。我觉得这很有帮助,并且希望每次都弹出这个窗口。我用谷歌搜索并尝试了不同的组合键,但我看不到你是如何做到这一点的。

有人可以帮我吗?

【问题讨论】:

标签: python python-idle


【解决方案1】:

如果你想要一个组合键来显示 calltip,这很简单。

只需输入“ctrl+\”,如图所示:

有一点要记住,它只有在您已经输入左括号时才有效,而不是之前。

如下图所示:

括号打开

括号内

不带左括号

【讨论】:

    【解决方案2】:

    您的问题是特定于 python IDLE 的。在 IDLE 中,您默认启用此功能。为了使其工作,函数(或方法)必须在当前命名空间中可用。这意味着它必须在运行环境中定义,或者导入到运行环境中。

    例如:

    >>> def foo(x)
            """the foo function"""
            return x
    

    当您在定义后的提示符中键入>>> foo( 时,您将看到解释,这实际上是文档字符串中包含的文档(三引号之间的内容)。

    如果一个函数或方法没有任何文档,那么你将看不到任何解释。例如

    >>> def bar(y):
            return y
    

    在这种情况下,当您在提示符下输入bar( 时,IDLE 将只显示y,这是因为该函数没有任何文档。

    一些内置函数(称为builtins)没有文档字符串,这通常是因为它们是用C 编程语言实现的。例如

    >>> from functools import reduce
    >>> reduce(
    

    在这种情况下,IDLE 不会给出任何提示,因为该函数没有任何文档字符串可以显示。

    python standard reference 是学习的好伴侣。您可以在那里查找内置函数定义,以清楚地解释它们的作用。另一方面,在编写自己的函数时,请记住放置文档字符串,因为它们会在您继续进行时为您提供帮助。

    【讨论】:

    • AFAIK,所有内置函数都有一个文档字符串,包括reduce。缺席将是一个错误。对于 reduce,第一行是 'reduce(function, sequence[, initial]) -> value',reduce 签名,对我来说,这就是 calltip 包含的内容。
    【解决方案3】:

    IDLE 的调用提示包含函数签名(如果直接可用),后跟文档字符串的开头(如果有)。对于没有得到“Argument Clinic”处理的内置函数,签名是文档字符串的开头。 reduce 就是这种情况。在 3.6 和 3.7 中,当我在导入和提示后键入 reduce( 时,调用提示包含文档字符串中给出的签名。要查看整个 reduce() 文档字符串,请使用 >>> help(reduce) 或输入 reduce.__doc__

    要在编辑器中编辑时查看更多调用提示,请在输入导入语句后运行您的代码。例如,如果您启动 IDLE 并立即编辑一个新文件并输入

    import reduce
    reduce(
    

    正如您在问题中描述的那样,您看不到呼叫提示。但是如果你在导入后按 F5 并返回编辑器,你会的。同样,如果您想查看自己的函数的调用提示,请在定义它们后偶尔运行该文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-02
      相关资源
      最近更新 更多