3

以下のコードは完全に機能しますが、PyCharm は構文エラーについて不平を言いますforward(100)

#!/usr/bin/python
from turtle import *

forward(100)

done()

は標準ライブラリなのでturtle、追加の構成を行う必要はないと思いますよね?

ここに画像の説明を入力

4

2 に答える 2

11

ソースコードの関連部分をモジュールで指定することにより、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()
于 2014-08-31T03:21:03.073 に答える