Python IDLE 不会显示文档字符串



My IDLE(Python 3.4.3)在键入函数名称时不会显示函数文档字符串。

有人熟悉这个问题吗?

我尝试了所有的方法,包括卸载等。网上找不到答案。

我说的是在特定键入时自动显示文档字符串,NOT

print(func. __ doc __) 

感谢

文档字符串是调用提示的一部分,而不是完成。当在可访问函数的名称后键入"("时,会显示调用提示。在键入")"之前,调用提示应一直显示,或者单击鼠标或以其他方式移动光标以将其消除。Cntl-\会将其带回。

calltip由函数签名和文档字符串的第一行组成。对于没有可访问签名的内置函数(如3.4.3中的intbytes),calltip由第五行或第一个空行上的所有行组成。

可访问的函数集取决于哪些模块已导入用户进程(执行代码的位置),包括Idle本身导入的模块,以及运行了哪些代码(自上次重新启动以来)。例如,重新启动Shell(Cntl-F6),打开一个新的编辑器窗口,然后输入

itertools.count(

出现回调提示是因为Idle将itertools导入到用户进程中供自己使用。输入

turtle.write(

什么也没有出现,因为Idle不导入乌龟。Cntl-\也什么都不做。进入

import turtle

上面的函数调用并不能立即起到帮助作用,但如果运行文件来执行导入,则可以使用turtle函数的调用提示。

这表明您可能希望在顶部写入导入语句后运行文件,或者在编辑之前立即运行现有文件。

评论:

  1. 我怀疑您的问题是,您试图获取当前不可访问的函数的调用提示,尽管它以前可能是可访问的,并且在运行代码后将变得可访问。

  2. 我打开了第24028期,在关于完成的小节之后,将类似上面的内容添加到空闲文档中,作为关于调用提示的小节

  3. 现有问题1350是关于添加显示完整文档字符串的选项。

  4. 可用性问题令人讨厌。我有几个改进的想法。同时,使用上面关于运行导入的建议。

编辑:2018年8月2日

  1. Mac OSX或MacOS与tcl/tk的某些组合需要在idlelib/calltip_w.py(3.6+)或idlelib/CallTipWindow.py(3.5-)上添加一行。Issue 34275

    self.label.pack()  # Line 74
    tw.update_idletasks()  # ADD THIS LINE!
    tw.lift()
    

这应该包含在未来的版本中。如果以上不起作用,请删除_idletasks

最新更新