供将来参考:
首先,有两种我称之为“提示”的类型:
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”。对于在 python 代码中使用 def 语句定义的模块,它在第一行显示签名,在第二行显示文档字符串的第一行。它们适用于使用括号调用的任何类型的可调用对象。
如果您键入“(”,除非您快速键入,否则该框会弹出。在它关闭后,要将其恢复,请将光标定位在“(”和“)”之间,然后选择顶部菜单上的编辑和“显示呼叫提示',或键入菜单上显示的快捷键。更多信息,see the doc。
可悲的是,因为我现在并没有按照自己的方式工作,而且我从来不需要理解它,所以我还没有找到每个 calltip 的语法是什么。