为什么 PyCharm 不能自动完成 turtle.mainloop() 函数?如何知道模块中的哪个功能可以使用?

Why can't PyCharm autocomplete turtle.mainloop() function? How to know which function from module is available to use?

可以在不创建 TurtleScreen class.

实例的情况下调用 turtle.mainloop()turtle.exitonclick()

但是 PyCharm 在按下 Ctrl + Space 后似乎无法自动完成这些功能。

注意到 turtle 模块有一个名为 _make_global_funcs 的函数,我认为这使得 class 方法可以使用 <module_name>.<function_name> 语法调用。

如何知道哪些方法可以直接使用,哪些不能?如果我可以直接调用 turtle.exitonclick(),那么我就不必创建 Screen class.

的实例

turtle.py模块异常。为了让新手程序员更容易使用,我假设,Turtle class 的所有方法也可用作在默认(未命名)海龟实例上运行的顶级函数。 Screen 的所有方法 class 也可用作在默认(唯一)屏幕实例上运行的顶级函数。

这不会帮助您了解哪些方法 PyCharm can/will 自动完成但是当您调用 turtle.Screen() 时,您并不是在创建 Screen class,你只是得到一个指向现有实例的指针。

由于其不同寻常的设计,我认为 turtle.py 是一个可以违反 no import * 规则的模块,因为它是针对初学者的。这样做可能有助于 PyCharm 区分函数和方法并做正确的事情。还是不行。