クライアントはインポートまたはfromの文を実行できます。 モジュールが読み込まれていない場合、これらの文はモジュールファイルプログラムの検索、コンパイル、実行を行います。 主な違いは、インポートがモジュール全体を読み込むため、変数名を読み取る前にモジュールを定義しなければならない点です。 From はモジュール固有の変数名を取得する(またはコピー)します。
インポートは変数名をモジュールオブジェクト全体を参照させるため、モジュールのプロパティはモジュール名(例:module1.printer)で取得しなければなりません。 そして From は変数名を別のスコープにコピーするため、コピーした変数名をモジュール(例:プリンター)を経ずにスクリプト内で直接使用できます。
フロム文は名前空間を壊す可能性があります。 fromで変数をインポートし、その変数が既存の変数と重複している場合、変数は静かに上書きされます。 インポート文を使用する場合は問題ありません。なぜなら、その内容はモジュール名から取得される必要があるからです。 しかし、fromを使う場合は、特にインポート変数名(例:from module import x, y, z)を明確に記載していれば、この問題を理解し予測すれば大きな問題にはなりません。