如何在IDLE中为Python函数指定自定义工具提示描述

时间:2014-08-21 20:01:53

标签: python function tooltip python-idle docstring

只要我在IDLE 3.4.1中输入print(,就会出现一个工具提示:

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

显然,这是在print函数的定义中或其他地方自定义的。但是,如果我做了一个功能

def func1(*args):
    ...

def func2(*args):
    "func(arg, ...) -> do things"
    ...

甚至

def func3(*args: 'arg, ...') -> 'do things':
    ...

我的工具提示阅读:

(*args)

(*args)
func(arg, ...) -> do things

(*args: 'arg, ...') -> 'do things'

当然,我希望工具提示能够阅读func(arg, ...) -> do things

将自定义工具提示/文档字符串设置为内置功能吗?如果没有,那我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

这里闲置开发者。工具提示包括实际的功能签名(如果有),以及docstring的第一行(或更多,最多5个或第一个空白)。在3.4之前,内置的实际签名不可用。因此,解决方法是在docstring中包含(假设的)签名。但是,现在正在转换内置函数以提供实际签名,当它们存在时,不需要变通方法,并且从docstring中删除了伪签名。换句话说,您想要的表单是一个过时的解决方法。遗憾。

PEP8标准是文档字符串应该从一个摘要行开始(后面跟一个空白,然后再说明)该函数的作用。对于一个真正的功能,像“回归一个满足愿望的明星”这样的东西。对于副作用方法,从其他方面开始,例如“重新安排甲板家具”。因此,将签名放在func2的docstring中是“错误的”,并且对于python编码的函数来说永远不需要。