PyQt4 import * などのワイルドカード インポートは、プログラミング コミュニティでよく議論の種になります。ただし、多くの開発者は、一般にワイルドカードのインポートを回避する必要があることに同意しています。
修飾名は、ベアネームよりも優先されます。 from PyQt4 import Qt ではなく from PyQt4.QtCore import Qt のような構文を使用して、インポート元のモジュールを明示的に指定することをお勧めします。修飾名を使用すると、コードの依存関係の追跡やエラーのデバッグが容易になります。
また、モジュール間の衝突のリスクも軽減されます。 2 つのモジュールが同じ名前の関数を定義している場合、あいまいさを避けるために、そのうちの 1 つを明示的にインポートする必要があります。ワイルドカード インポートを使用すると、このような衝突が見落とされやすくなり、予期しないエラーが発生します。
最後に、ワイルドカード インポートにより、コードのテストが難しくなる可能性があります。たとえば、サードパーティ ライブラリのクラスをモックする場合、そのクラスへの修飾参照があれば、モックするのが簡単です。
import ステートメントの行数を減らしたい場合は、モジュールのエイリアスを作成できます。たとえば、PyQt4.QtCore import Qt、QPointF、QRectF から記述する代わりに、次のように記述できます。
import PyQt4 Qt = PyQt4.QtCore
このアプローチにより、明示的に指定することなく Qt.QPointF、Qt.QRectF などを使用できるようになります。それぞれの名前を修飾します。
別のオプションは、選択的インポートを使用することです。モジュールからすべてのクラスをインポートする代わりに、必要なクラスだけをインポートできます。
from PyQt4.QtCore import QPointF, QRectF from PyQt4.QtGui import QGraphicsItem, QGraphicsScene
これは、ワイルドカード インポートを使用するよりも冗長ですが、実際に使用するクラスのみをインポートできるという利点があります。 .
ワイルドカードのインポートは魅力的かもしれませんが、一般的には推奨されません。修飾名は読みやすく、エラーが発生しにくく、テストが簡単です。 import ステートメントの行数を減らす方法を探している場合は、代わりにエイリアスの使用または選択的インポートを検討してください。
以上がワイルドカードのインポート: 使用するか使用しないか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。