2016-05-18 4 views
0

turtle.mainloop()またはturtle.exitonclick()は、TurtleまたはScreenクラスのインスタンスを作成せずに呼び出すことができます。なぜPyCharmはturtle.mainloop()関数をオートコンプリートできないのですか?モジュールからどの機能を利用できるかを知るには?

しかし、Ctrl +スペースを押すと、PyCharmがこれらの機能を自動完了するのに問題があるようです。

気づいたturtleモジュールには、<module_name>.<function_name>の構文を使用して呼び出し可能なクラスメソッドを作ると考えられる_make_global_funcsという関数があります。

どの方法が直接利用できるのか、どの方法が利用できないのかを知るには? turtle.exitonclick()を直接呼び出すことができれば、私はScreenクラスのインスタンスを作成する必要はありません。

答えて

0

turtle.pyモジュールは珍しいです。プログラマーの初心者が使いやすくするために、Turtleクラスのすべてのメソッドは、デフォルト(無名)のタートルインスタンスで動作するトップレベル関数としても利用できると仮定します。 Screenクラスのすべてのメソッドは、デフォルトの(ソール)スクリーンインスタンスで動作するトップレベル関数としても利用できます。

これはPyCharmがオートコンプリートできる方法を知るのに役立ちませんが、turtle.Screen()を呼び出すとScreenクラスのインスタンスを作成していないため、既存のインスタンスへのポインタを取得しています。

珍しいデザインのため、turtle.pyは、初心者を対象としているので、import *ルールに違反する可能性のあるモジュールの1つです。これを行うとPyCharmが関数とメソッドを区別し、正しいことをするのに役立ちます。か否か。

関連する問題