pythonモジュールパッケージノート

モジュールは、関数、メソッドまたはデータのセットに関連する一般的な主題が含まれています

インポート利用可能なモジュール:第一のモジュールは、オペレーティングシステムに搭載されています

輸入sysがメインシステムとのpythonが提供する様々な関連サービスを含むモジュールのSYS名前をインポート:1つのモジュールは、最も簡単な方法を使用すると、それはimportキーワードのインポートを使用することです開始します。

例:食品・モジュールを作成するには、唯一のfoods.pyファイルを作成する必要があります。一度尾での.pyモジュール名を追加せずに作成した輸入食品のモジュール名を使用して、作成されました

Pythonは自動的に変数のsysモジュールに保存されているディレクトリパスまたはパスのリストを検索します。輸入のsysのsys.path

ディレクトリを追加し、又はカタログの任意の数の追加増加させる方法は、この方法を拡張します。

>>>インポートsysは、
>>>のsys.pathの
[ ''、 'D:\\プログラムファイル\\ Pythonの\\ \\ Python37のLib \\ idlelib'、「D:\\プログラムファイル\\ Pythonの\\ Python37 \ \ python37.zip ' 'D:\\プログラムファイル\\ Pythonの\\ \\ Python37のDLL'、 'D:\\プログラムファイル\\ Pythonの\\ Python37 \\ libに'、' D:\\プログラムファイル\ \ Pythonの\\ Python37' 、 'D:\\プログラムファイル\\ Pythonの\\ \\ Python37のlib \\サイト-パッケージ']
>>> sys.path.append( "E:\ pythonscript")
>>> SYS .pathの
[ ''、 'D:\\プログラムファイル\\ Pythonの\\ \\ Python37のLib \\ idlelib'、 'D:\\プログラムファイル\\ Pythonの\\ \\ Python37 python37.zip'、「D: \\プログラムファイル\\ Pythonの\\ \\ Python37のDLL、 'D:\\プログラムファイル\\ Pythonの\\ Python37 \\ libに'、 'D:\\プログラムファイル\\ Pythonの\\ Python37'、「D :\\プログラムファイル\\ Pythonの\\ Python37 \\ libに\\のsite-packages'、 'E:\\ pythonscript']
>>>輸入食品
>>> DIR(食品)
【 '冷蔵庫'、 'オムレツ'、 '__builtins__'、 '__cached__'、 '__doc__'、 '__FILE__'、 '__loader__'、 '__name__'、 '__PACKAGE__'、 '__spec__']

使用している場合、すべての名前が含まれているインポートインポートモジュールは、モジュールという名前の範囲に配置されています。つまり、スコープ名はimport文で使用される名前です。

2からのインポートコマンド修飾子を使用した食品から直接使用することができるインポートした後、オムレツの名前をインポート

食品輸入のレシピから

R =レシピ()

現在のスコープの名前に使用する複数のレベルがある場合。foods.recipes輸入bから必要

図3は、明示的にモジュールの名前が使用されている指定した各モジュールで利用可能なコンテンツのすべてを行う必要がある場合があります。この目的のために、から...のInport *のステートメントに使用されているPythonの特殊文字*を提供します。グローバルスコープにインポートする場合にのみインポートするために使用することができます*

 

ディレクトリのフォルダ構造に似たパッケージ。同じディレクトリに別のモジュールファイルを一緒に使用しなければならないとして使用します

キッチンカタログを作成し、それぞれの名前の前後に2つのアンダースコア__init__.pyファイルを作成します。このことを示唆文書はPythonのパッケージディレクトリではなく、ファイルのpythonが含まれている普通のディレクトリです。

__init__ファイルには、制御パケットの使用コードが含まれています。パッケージをインポートする場合、ディレクトリ内の各ファイルはすぐにインポートされません。__init__.pyファイルが最初にそれらを使用する方法と同様に使用するファイルを指定する、計算されます。

キッチンフォルダ内の2つのクラスを追加します。fridge.py omelet.pyを

1は、クラスファイルの__init__で導入されています。これらのクラスを導入した後に利用できるキッチンパッケージになってきました

冷蔵庫インポート冷蔵庫から
オムレツ輸入オムレツから

キッチンモジュールがロードされ、自動的に、そのような冷蔵庫を見つけるか、エラーを促しする場所として、ディレクトリに追加する必要があります

>>> sys.path.append( "E:\\ pythonscript \\台所") 
>>>インポートキッチン
>>> F = kitchen.Fridge()

 

2あなたはkithcheを使用しない場合。__all__リスト__init__.pyファイルに追加する必要があります

冷蔵庫の輸入冷蔵庫から
オムレツ輸入オムレツから
__all __ = [「冷蔵庫」、「オムレツ」]

>>>キッチンインポートから*
>>> =冷蔵庫(F)

オムレツ輸入オムレツの__init__.pyファイルから追加された3あなたが使用していない場合は、参照する必要があります:Omelet.Omelet()

すべての__all__名は、これらの名前のリストに表示されますのみ*によってエクスポートすることができます。

__all__要素がリストに表示され、自動的にインポート手順のグローバルスコープにインポートすることができる機能、またはクラスのデータの名前、*であってもよいです

 

PYCファイル:これはすぐにロードして実行するために、プレーンテキストのソースコードよりも簡単ですコードのいくつかのフォームを含んでいる特別なPythonのファイル出力、です。このようなファイルをの.pyする場所としてそれを呼び出すために、次回更新されたソースコードに.pycファイルに応じてダブルクリックするか、のpython -iまたは実行]メニューを実行することによって、Pythonは再作成されますが、変更されています。

モジュールとのpythonモジュールは、特別なsys.modulesの下に隠されているソースの名前は、それがすでにインポートされたすべてのモジュールが含まれています。

ビューロードされたモジュール:リスト(sys.modules.keys())

モジュールをロードした後、それはsys.modulesに辞書を表示されます、そして、あなたはモジュールを変更しても、Pythonはもはやそれを再計算されません。モジュールは、単にポストsys.modules辞書から削除され、その後、再び、それに導入されたことがあります。

>>>輸入キッチン
>>> sys.modulesの'キッチン'

>>> sys.modules [ 'キッチン']
<からモジュールのキッチン' 'E:\\ pythonscript \\キッチン\\ __のinit __ PY'>
> >> sys.modules.pop( 'キッチン')
<からモジュールのキッチン' 'E:\\ pythonscript \\キッチン\\ __のinit __ PY'>
>>> sys.modules [ 'キッチン']
トレースバック(最新の呼び出しリットル

Pythonはそれがモジュール、手動リロードと同様の効果を指定リロード、組み込み関数のリロードを提供しています。

輸入キッチン

>>>インポートIMP
>>> imp.reload(キッチン)

これは、すでに存在するオブジェクトには影響しないことに注意してください、あなたはこのようなオブジェクトを呼び出して再作成する必要があり、それら

O = Omelet.Omelet()

 __name__は、実行中のスコープの名前を返す、__ MAIN__はトップグローバルスコープ名で特別な予約語、です。

モジュールが正常に動作している、あなたはこの文の最後にモジュールを使用できることを確認します。if __name __ ==「__ MAIN__」

 

スコープのローカル名を保持するモジュールとのpython。モジュールの内部名をそのまま用いてもよいです。特定のモジュール内の外部アクセスモジュールに名前を付けるには、最初にモジュール名、ピリオド、名前を指定する必要があり、その後、後でアクセスしたいです。

モジュールを使用するためには、プログラムに文をインポートする必要があります。あなたは、ファイルを見つけるまでのpythonのsys.pathリストに各ディレクトリを確認してください。

モジュールの特定の部分を使用して、完全なパスを入力せずに、一般的に望ましいです。ピリオドで区切られた任意の中間のモジュールの名前、実際の必要の最後に名前が続く開始するモジュールのフルパス名。頻繁に使用されるから...名前インポートをインポートするために使用することができます。

符号の大量を調製する場合、パッケージは、コード名を整理するために使用することができ、ディレクトリ構造スタートパケットの後、パケットは、プログラム中に導入され、ディレクトリの名前は、パッケージです。__init__.pyファイルディレクトリは、通常のパッケージとなります。このファイルには、便利なパッケージ全体のコードが含まれ、例えば、共有パケットデータ、バージョン情報、およびその他の重要な書類の保管場所のすべての部分は、ファイルには、必要なimport文、要求パケットとの声明から...インポート*が含まれていますパッケージファイルが自動的にエクスポートされていない場合、パッケージは、リストの__all__をエクスポートする必要があるため、それらのファイルを__init__.pyにインポートされている場合でも、あなたはデフォルトの名前を指定する必要があります。

 

おすすめ

転載: www.cnblogs.com/caojuansh/p/11579812.html