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



只要我在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':
    ...

my tool-tips read:

(*args)

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

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

当然,我希望工具提示显示为func(arg, ...) -> do things

设置自定义工具提示/文档字符串是内置功能吗?如果没有,我该如何做到这一点?

这里是空闲开发人员。工具提示包括实际的函数签名(如果有的话)和文档字符串的第一行(或更多,最多5行或第一个空白)。在3.4之前,内置函数的实际签名是不可用的。因此,解决方法是在文档字符串中包含(假定的)签名。但是,现在正在转换内置签名以提供实际签名,当它们提供实际签名时,不需要解决方法,并且从文档字符串中删除伪签名。换句话说,您想要的表单是一种过时的变通方法,即将消失。对不起。

PEP8标准是文档字符串应该以一个总结行开始(后面是一个空白),说明函数的功能。对于一个真正的函数,比如"返回一颗实现愿望的星星"。对于副作用的方法,可以从其他方法开始,比如"重新安排甲板家具"。因此,将签名放在func2的docstring中是"错误的",并且对于python编码的函数来说从来都不需要。

最新更新