この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 13872|答える: 1

[通信] Import and ImportからのPython

[リンクをコピー]
掲載地 2018/04/25 11:20:35 | | | |
記録のためにPythonの学習マニュアルからの抜粋です。

クライアントはインポートまたはfromの文を実行できます。 モジュールが読み込まれていない場合、これらの文はモジュールファイルプログラムの検索、コンパイル、実行を行います。 主な違いは、インポートがモジュール全体を読み込むため、変数名を読み取る前にモジュールを定義しなければならない点です。 From はモジュール固有の変数名を取得する(またはコピー)します。

インポートは変数名をモジュールオブジェクト全体を参照させるため、モジュールのプロパティはモジュール名(例:module1.printer)で取得しなければなりません。 そして From は変数名を別のスコープにコピーするため、コピーした変数名をモジュール(例:プリンター)を経ずにスクリプト内で直接使用できます。

フロム文は名前空間を壊す可能性があります。 fromで変数をインポートし、その変数が既存の変数と重複している場合、変数は静かに上書きされます。 インポート文を使用する場合は問題ありません。なぜなら、その内容はモジュール名から取得される必要があるからです。 しかし、fromを使う場合は、特にインポート変数名(例:from module import x, y, z)を明確に記載していれば、この問題を理解し予測すれば大きな問題にはなりません。

一方で、リロードコールと共に使われると、from文には深刻な問題があります。なぜなら、インポートされた変数名がオブジェクトの以前のバージョンを指す可能性があるからです。 さらに、モジュールインポート*のフォームは名前空間を壊し、変数名の理解を難しくし、特に複数のファイルをインポートする場合に影響します。

より実用的な提案としては、単純なモジュールは一般的にfromよりもimportを使う傾向があります。 ほとんどのfrom文は目的変数を明示的に列挙するために使われ、ファイルごとに*からの形を一度だけ使うことができます。 このようにして、定義されていない変数名は * から参照されるモジュールに存在するとみなすことができます。 同じ変数名の変数を2つの異なるモジュールで使わなければならない場合、インポートを使う必要があります。その場合はfromを使えません。

たくさん話してしまいましたが、何と言っていいかわかりません。簡単に話しましょう。

  • インポートモジュール # モジュールを導入
  • モジュールからインポート その他 # モジュール内にクラス、関数、または変数を導入する
  • モジュールからインポート * # モジュール内のすべての「パブリック」メンバーを導入する


平たく言えば:

クラスをインポート #把整个一班的学生引入了进来
インポートグループからシャオワン #只把一般的小王引入了进来

例えば:

時間パッケージはその例であり、以下の2つの書き込み方法は同じです。








先の:Pythonパッケージで関数の使い方
次に:HP ノートパソコン&デスクトップ ゴースト Windows7 32&64 Sea Drive Edition v201801
 地主| 掲載地 2018/04/25 11:22:51 |
DateTimeをインポートすると、DateTimeパッケージ全体を導入します。DateTimeパッケージ内でdatetimeクラスを使う場合は、モジュール名の資格付けを加える必要があります。



モジュール名の修飾子を追加しなければ、エラーが表示されます:TypeError: 'module' object is not call able \ AttributeError: 'module' object has not attribute 'now'



DateTimeからインポートするDateTimeはDateTimeパッケージのDateTimeクラスにのみ導入されており、使用時にモジュール名の修飾子を追加する必要はありません。



まとめ:Pythonでモジュールをインポートする方法は2種類あります:import moduleとfrom module importの2つの方法で、前者はすべてのインポートしたものを使う際にモジュール名を追加する必要がありますが、後者は不要です。

免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com