为什么 PyCharm 不能自动完成 turtle.mainloop() 函数?如何知道模块中的哪个功能可以使用?
Why can't PyCharm autocomplete turtle.mainloop() function? How to know which function from module is available to use?
可以在不创建 Turtle
或 Screen
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 区分函数和方法并做正确的事情。还是不行。
可以在不创建 Turtle
或 Screen
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 区分函数和方法并做正确的事情。还是不行。