在IDLE中调用函数时如何创建自己的“提示”?

时间:2017-07-08 01:50:51

标签: python function python-idle

我知道我的问题可能令人困惑,很难问你不知道它究竟是什么(我会称之为'提示'),所以我为此道歉。话虽如此,这就是我的意思(白框中的文字): enter image description here

我的问题是:

  • 如何在调用函数时自己提示(并自定义)文本?
  • 究竟是什么?
  • 此示例中的文字是什么意思?

3 个答案:

答案 0 :(得分:1)

IDLE将弹出窗口称为“calltip”。对于使用def语句在python代码中定义的模块,它在第一行显示签名,在第二行显示doc字符串的第一行。它们适用于使用括号调用的任何类型的可调用函数。

如果你键入'('弹出框除非你打字很快。关闭后,要把它带回来,你把光标放在'('和')'之间,然后选择顶部菜单上的编辑和'显示呼叫提示',或键入菜单上显示的快捷键。有关更多信息,请see the doc.

答案 1 :(得分:0)

事实上,对于被称为提示的文本框,您是正确的,因此不需要引用。您所看到的是类型提示。它由Python内部的typing模块支持。请参阅以下示例:

def add(a: int, b: int) -> int:
    return a + b

然后,当您尝试调用该函数时,您将看到一个与您显示的文本框非常相似的文本框。如果您想了解更多信息,我建议您阅读typing模块page

那就是说,在大多数情况下,你不需要那种类型的提示,因为doc strings(“”“关于我的函数的信息”“”)通常会被追捧。

答案 2 :(得分:0)

供以后参考:

  • 在调用函数时如何提出自己的提示[...]?

首先,我称之为“ 提示”有2种类型:

  

4.7.6. Documentation Strings:
  以下是有关文档字符串的内容和格式的一些约定。

     

第一行应始终是对象用途的简短摘要。 [...] 此行应以大写字母开头,以句点结束。

     

如果文档字符串中还有更多行,则第二行应为空白,以可视方式将摘要与描述的其余部分分开。以下几行应为一个或多个段落,描述对象的调用约定,其副作用等。 [...]

     

以下是多行文档字符串的示例:

>>> def my_function():
...     """Do nothing, but document it.
...
...     No, really, it doesn't do anything.
...     """
...     pass
...
>>> print(my_function.__doc__)
Do nothing, but document it.

    No, really, it doesn't do anything.

还有一个introduced in Python 3.0

  

4.7.7. Function Annotations:     函数注释是有关所使用类型的完全可选的元数据信息     通过用户定义的功能(有关更多信息,请参阅PEP 3107和PEP 484)。

     

注释以字典的形式存储在函数的 annotations 属性中,对函数的任何其他部分均无效。参数注释由参数名称后的冒号定义,后跟一个评估注释值的表达式。返回注释由文字->定义,后跟表达式,在参数列表和冒号之间(表示def语句的结尾)。以下示例具有位置参数,关键字参数和带注释的返回值:

>>> def f(ham: str, eggs: str = 'eggs') -> str:
...     print("Annotations:", f.__annotations__)
...     print("Arguments:", ham, eggs)
...     return ham + ' and ' + eggs
...
>>> f('spam')
Annotations: {'ham': <class 'str'>, 'return': <class 'str'>, 'eggs': <class 'str'>}
Arguments: spam eggs
'spam and eggs'

  • 确切是什么?

上面写着什么,Terry Jan Reedy回答了:

  

IDLE将弹出窗口称为“ calltip”。对于使用def语句在python代码中定义的模块,它在第一行显示签名,在第二行显示doc字符串的第一行。它们旨在用于使用括号调用的任何类型的可调用对象。

     

如果您键入'(',除非您快速键入,否则将弹出该框。将其关闭后,将其放回原处,请将光标置于'('和')'之间,然后选择顶部菜单中的“编辑”和“显示呼叫提示”,或键入菜单上显示的快捷键。有关更多信息,请see the doc


  • 此示例中的文字是什么意思?

可悲的是,由于我现在不忙于我的工作,而且我从来不需要了解它,所以我没有发现每个 calltip 的语法是什么。