我知道我的问题可能令人困惑,很难问你不知道它究竟是什么(我会称之为'提示'),所以我为此道歉。话虽如此,这就是我的意思(白框中的文字):
我的问题是:
答案 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.
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 的语法是什么。