【问题标题】:Why can't PyCharm autocomplete turtle.mainloop() function? How to know which function from module is available to use?为什么 PyCharm 不能自动完成 turtle.mainloop() 函数?如何知道模块中的哪个功能可以使用?
【发布时间】:2016-09-14 21:49:22
【问题描述】:

可以在不创建 TurtleScreen 类的实例的情况下调用 turtle.mainloop()turtle.exitonclick()

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

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

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

【问题讨论】:

    标签: python python-3.x pycharm turtle-graphics


    【解决方案1】:

    turtle.py 模块异常。为了让初学者更容易使用,我假设 Turtle 类的所有方法也可以作为对默认(未命名)turtle 实例进行操作的顶级函数。 Screen 类的所有方法也可用作在默认(唯一)屏幕实例上操作的顶级函数。

    这并不能帮助您了解 PyCharm 可以/将自动完成哪些方法,但是当您调用 turtle.Screen() 时,您并没有创建 Screen 类的实例,您只是获得了指向现有实例的指针.

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

    【讨论】:

      猜你喜欢
      • 2016-02-15
      • 2012-02-10
      • 1970-01-01
      • 1970-01-01
      • 2016-10-01
      • 2015-04-25
      • 2013-09-27
      • 2014-12-04
      • 2016-12-30
      相关资源
      最近更新 更多