一旦我在IDLE 3.4.1中输入print(
,就会出现一个工具提示:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
显然,这是在print函数的定义中或其他地方定制的。但是,如果我做一个函数
^{pr2}$或者
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
。在
设置自定义工具提示/文档字符串是否为内置功能?如果没有,那我怎么能做到呢?在
这里是闲置开发者。工具提示包括实际的函数签名(如果有)和docstring的第一行(或更多,最多5个或第一个空白)。在3.4之前,没有内置函数的实际签名。所以解决方法是在docstring中包含(假设的)签名。但是,内置签名现在正在被转换以提供实际签名,当它们被转换时,不需要解决方法,并且伪签名将从docstring中删除。换句话说,你想要的表单是一个过时的解决方法,它正在消失。对不起的。在
PEP8标准是docstrings应该从一个摘要行开始(后面紧跟一个空白,然后再加上一个空格),说明函数的作用。对于一个真正的函数,像“Return a wish fulfilling star”。对于副作用方法,可以从其他方法开始,比如“重新安排deck furniture”。因此,在func2的docstring中添加签名是“错误的”,而且python编码的函数从来都不需要签名。在
相关问题 更多 >
编程相关推荐