以下のコードは完全に機能しますが、PyCharm は構文エラーについて不平を言いますforward(100)
#!/usr/bin/python
from turtle import *
forward(100)
done()
は標準ライブラリなのでturtle
、追加の構成を行う必要はないと思いますよね?
以下のコードは完全に機能しますが、PyCharm は構文エラーについて不平を言いますforward(100)
#!/usr/bin/python
from turtle import *
forward(100)
done()
は標準ライブラリなのでturtle
、追加の構成を行う必要はないと思いますよね?
ソースコードの関連部分をモジュールで指定することにより、forward()
関数をインポートできるようになります。__all__
turtle
_tg_turtle_functions = [..., 'forward', ...]
__all__ = (_tg_classes + _tg_screen_functions + _tg_turtle_functions +
_tg_utilities + _math_functions)
__all__
現在、pycharm はモジュールのリストにリストされているオブジェクトを認識できないため、 unresolved reference
. バグトラッカーには未解決の問題があります。
メソッドから関数を作成します: スター付きのインポート用に存在する場合は __all__ を更新します
参照:誰かが Python で __all__ を説明できますか?
参考までに、コメントを追加しnoinspection
て、未解決の参照としてマークしないように Pycharm に指示できます。
from turtle import *
#noinspection PyUnresolvedReferences
forward(100)
done()
または、特定のスコープの検査を無効にします。
そしてもちろん、厳密に言えば、PEP8 に従い、ワイルドカード インポートを避ける必要があります。
import turtle
turtle.forward(100)
turtle.done()