スポンサーリンクスポンサーリンク無料でプログラマへ!30歳までなら無料でプログラミング学校に通うことが出来ます。下の画像をクリックして無料相談会でGO!Pythonモジュールモジュールを使用すると、Pythonコードを論理的に整理できます。関連コードをモジュールをグループ化すると、コードを理解して使用するのが簡単になります。モジュールは、バインドして参照できる任意の名前の属性を持つPythonオブジェクトです。単純に、モジュールはPythonコードで構成されたファイルです。モジュールは、関数、クラス、および変数を定義できます。モジュールには実行可能コードも含まれます。例anameという名前のモジュール用のPythonコードは通常、aname.pyという名前のファイルにあります。単純なモジュールの例を次に示します。returnインポートステートメント他のPythonソースファイルでimport文を実行することで、任意のPythonソースファイルをモジュールとして使用できます。インポートは、構文は次のとおりです。moduleN]インタプリタがインポート文を検出すると、モジュールが検索パスに存在する場合、モジュールはインポートされます。検索パスは、インタープリタがモジュールをインポートする前に検索するディレクトリのリストです。モジュールsupport.pyをインポートするには、スクリプトの先頭に次のコマンドを挿入する必要があります。followssupport.print_func("Zara")上記のコードを実行すると、次の結果が生成されます。Zaraモジュールは、インポートされた回数にかかわらず、一度だけロードされます。これにより、複数のインポートが発生した場合でも、モジュールの実行が何度も繰り返されることはありません。...輸入声明Pythonのfromステートメントを使用すると、特定の属性をモジュールから現在の名前空間にインポートできます。nameN]]たとえば、関数fibonacciをモジュールfibからインポートするには、次のステートメントを使用します。fibonacciこのステートメントは、モジュール全体を現在のネームスペースにインポートしません。モジュールfibからのフィボナッチアイテムを、インポートするモジュールのグローバルシンボルテーブルに導入するだけです。...インポート*の声明:次のimport文を使って、モジュールからすべての名前を現在の名前空間にインポートすることもできます。*これにより、モジュールのすべての項目を現在の名前空間に簡単にインポートできます。この記述は控えめに使用する必要があります。モジュールが見つからない場合、Pythonはシェル変数PYTHONPATH内の各ディレクトリを検索します。他のすべてが失敗した場合、Pythonはデフォルトパスをチェックします。モジュール検索パスは、sys.path変数としてシステムモジュールsysに格納されます。sys.path変数には、カレントディレクトリPYTHONPATHとインストールに依存するデフォルトが含まれています。PYTHONPATHの変数:PYTHONPATHはディレクトリのリストからなる環境変数です。PYTHONPATHの構文は、シェル変数PATHの構文と同じです。Windowsシステムの典型的なPYTHONPATHを次に示します。PYTHONPATH=c:\python20\lib;UNIXシステムの典型的なPYTHONPATHは次のとおりです。PYTHONPATH=/usr/local/lib/python名前空間とスコープ変数は、オブジェクトにマップされる名前(識別子)です。名前空間は、変数名(キー)とそれに対応するオブジェクト(値)の辞書です。Pythonステートメントは、ローカル名前空間とグローバル名前空間の変数にアクセスできます。ローカル変数とグローバル変数の名前が同じ場合、ローカル変数はグローバル変数をシャドウします。各関数には独自のローカル名前空間があります。クラスメソッドは、通常の関数と同じスコープ規則に従います。Pythonは、変数がローカルかグローバルかを推測します。関数の値を代入する変数はすべてローカルであると仮定します。したがって、関数内のグローバル変数に値を割り当てるには、まずグローバル・ステートメントを使用する必要があります。VarNameは、VarNameがグローバル変数であることをPythonに伝えます。Pythonは変数のローカル名前空間の検索を停止します。グローバル名前空間に変数Moneyを定義します。関数Money内でMoneyに値を代入するので、PythonはMoneyをローカル変数として扱います。それを設定する前にローカル変数Moneyの値にアクセスしたので、UnboundLocalErrorが結果になります。グローバルステートメントのコメントを外して問題を解決します。Moneydir()関数dir()組み込み関数は、モジュールによって定義された名前を含む文字列のソートされたリストを返します。リストには、モジュールに定義されているすべてのモジュール、変数、および関数の名前がリストされます。content上記のコードを実行すると、次の結果が生成されます。__file__はモジュールがロードされたファイル名です。()関数は、それらが呼ばれている場所から場所に応じて、グローバルとローカルの名前空間内の名前を返すために使用することができます。locals()が関数内から呼び出されると、その関数からローカルにアクセスできるすべての名前が返されます。globals()が関数内から呼び出された場合、その関数からグローバルにアクセスできるすべての名前が返されます。これらの関数の戻り値の型は辞書です。したがって、keys()関数を使用して名前を抽出することができます。リロード()関数モジュールをスクリプトにインポートすると、モジュールの最上位部分のコードが1回だけ実行されます。したがって、モジュール内のトップレベルコードを再実行する場合は、reload()関数を使用できます。reload()関数は、以前にインポートされたモジュールを再度インポートします。reload()関数の構文は次のとおりです。reload(module_name)ここで、module_nameはリロードするモジュールの名前であり、モジュール名を含む文字列ではありません。helloモジュールをリロードするには、次のようにします。reload(hello)Pythonのパッケージパッケージとは、階層的なファイルディレクトリ構造で、モジュールとサブパッケージ、サブサブパッケージなどで構成される単一のPythonアプリケーション環境を定義します。利用可能な携帯電話のディレクトリを。このファイルには、次のソースコード行があります。Phone"同様の方法で、上記と同じ名前の別の関数を持つ別の2つのファイルがあります。G3.pyファイル今度は、電話ディレクトリにもう1つのファイル__init__.pyを作成してください。init__.py電話をインポートしたときにすべての関数を利用できるようにするには、次のように明示的なimport文を__init__.pyに入れる必要があります。G3これらの行を__init__.pyに追加すると、Phoneパッケージをインポートするときにこれらのクラスがすべて利用可能になります。PhonePhone.Pots()Phone.Isdn()Phone.G3()上記のコードを実行すると、次の結果が生成されます。Phone上記の例では、各ファイルで単一の関数の例を取り上げましたが、複数の関数をファイルに保存することができます。これらのファイルで異なるPythonクラスを定義し、それらのクラスからパッケージを作成することもできます。ルーティングの設定をしてみよう。PINGを飛ばしてみよう。ルーティングの設定をしてみよう。PINGを飛ばしてみよう。