工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

Python モジュール

Python モジュール

この記事では、Python でカスタム モジュールを作成してインポートする方法を学習します。また、カスタム モジュールや組み込みモジュールを Python にインポートして使用するためのさまざまなテクニックも紹介します。

ビデオ:Python モジュール

Python のモジュールとは?

モジュールは、Python ステートメントと定義を含むファイルを参照します。

Python コードを含むファイル。例:example.py 、モジュールと呼ばれ、そのモジュール名は example になります .

モジュールを使用して、大きなプログラムを管理しやすく整理された小さなファイルに分割します。さらに、モジュールはコードの再利用性を提供します。

定義を別のプログラムにコピーする代わりに、モジュールで最もよく使用される関数を定義してインポートできます。

モジュールを作成してみましょう。次のように入力し、example.py として保存します。 .

# Python Module example

def add(a, b):
   """This program adds two
   numbers and return the result"""

   result = a + b
   return result

ここで、関数 add() を定義しました example という名前のモジュール内 .この関数は 2 つの数値を受け取り、それらの合計を返します。


Python でモジュールをインポートする方法

モジュール内の定義を別のモジュールまたは Python の対話型インタープリターにインポートできます。

import を使用します これを行うためのキーワード。以前に定義したモジュール example をインポートするには 、Python プロンプトで次のように入力します。

>>> import example

これは example で定義された関数の名前をインポートしません 現在のシンボルテーブルに直接。モジュール名 example のみをインポートします

モジュール名を使用して、ドット . を使用して関数にアクセスできます オペレーター。例:

>>> example.add(4,5.5)
9.5

Python にはたくさんの標準モジュールがあります。 Python 標準モジュールとそのユース ケースの完全なリストを確認できます。これらのファイルは、Python をインストールした場所内の Lib ディレクトリにあります。

標準モジュールは、ユーザー定義モジュールをインポートするのと同じ方法でインポートできます。

モジュールをインポートするには、さまざまな方法があります。それらは以下にリストされています..


Python インポート ステートメント

import を使用してモジュールをインポートできます ステートメントを開き、上記のようにドット演算子を使用してその中の定義にアクセスします。以下に例を示します。

# import statement example
# to import standard module math

import math
print("The value of pi is", math.pi)

プログラムを実行すると、出力は次のようになります:

The value of pi is 3.141592653589793

名前を変更してインポート

次のように名前を変更して、モジュールをインポートできます。

# import module by renaming it

import math as m
print("The value of pi is", m.pi)

math の名前を変更しました m のモジュール .これにより、場合によっては入力時間を節約できます。

math という名前に注意してください。 私たちの範囲では認識されていません。したがって、math.pi は無効で、m.pi は正しい実装です。


Python from...import ステートメント

モジュール全体をインポートせずに、モジュールから特定の名前をインポートできます。以下に例を示します。

# import only pi from math module

from math import pi
print("The value of pi is", pi)

ここでは、pi のみをインポートしました math の属性 モジュール。

このような場合、ドット演算子は使用しません。次のように複数の属性をインポートすることもできます:

>>> from math import pi, e
>>> pi
3.141592653589793
>>> e
2.718281828459045

すべての名前をインポート

次の構成を使用して、モジュールからすべての名前 (定義) をインポートできます:

# import all names from the standard module math

from math import *
print("The value of pi is", pi)

ここで、math モジュールからすべての定義をインポートしました。これには、アンダースコアで始まる名前 (プライベート定義) を除く、スコープ内で表示されるすべての名前が含まれます。

アスタリスク (*) 記号を使用してすべてをインポートすることは、適切なプログラミング方法ではありません。これにより、識別子の定義が重複する可能性があります。また、コードの可読性も妨げられます。


モジュールをインポートする間、Python はいくつかの場所を調べます。インタープリターは最初に組み込みモジュールを探します。次に (組み込みモジュールが見つからない場合)、Python は sys.path で定義されているディレクトリのリストを調べます。 .検索はこの順序で行われます。

>>> import sys
>>> sys.path
['',
'C:\\Python33\\Lib\\idlelib',
'C:\\Windows\\system32\\python33.zip',
'C:\\Python33\\DLLs',
'C:\\Python33\\lib',
'C:\\Python33',
'C:\\Python33\\lib\\site-packages']

このリストを追加および変更して、独自のパスを追加できます。


モジュールのリロード

Python インタープリターは、セッション中にモジュールを 1 回だけインポートします。これにより、物事がより効率的になります。これがどのように機能するかを示す例を次に示します。

my_module という名前のモジュールに次のコードがあるとします。 .

# This module shows the effect of
#  multiple imports and reload

print("This code got executed")

これで、複数のインポートの効果がわかります。

>>> import my_module
This code got executed
>>> import my_module
>>> import my_module

コードが 1 回だけ実行されたことがわかります。これは、モジュールが 1 回だけインポートされたことを意味します。

プログラムの途中でモジュールが変更された場合は、モジュールをリロードする必要があります。これを行う 1 つの方法は、インタープリターを再起動することです。しかし、これはあまり役に立ちません。

Python は、これを行うためのより効率的な方法を提供します。 reload() を使用できます imp 内の関数 モジュールをリロードします。次の方法でそれを行うことができます:

>>> import imp
>>> import my_module
This code got executed
>>> import my_module
>>> imp.reload(my_module)
This code got executed
<module 'my_module' from '.\\my_module.py'>

dir() 組み込み関数

dir() を使用できます モジュール内で定義されている名前を見つける関数。

たとえば、関数 add() を定義しました モジュール example

dir を使用できます example で 次の方法でモジュールを作成します:

>>> dir(example)
['__builtins__',
'__cached__',
'__doc__',
'__file__',
'__initializing__',
'__loader__',
'__name__',
'__package__',
'add']

ここでは、並べ替えられた名前のリストが表示されます (add とともに)。 )。アンダースコアで始まる他のすべての名前は、モジュールに関連付けられたデフォルトの Python 属性です (ユーザー定義ではありません)。

たとえば、__name__ 属性にはモジュールの名前が含まれます。

>>> import example
>>> example.__name__
'example'

現在の名前空間で定義されているすべての名前は、dir() を使用して見つけることができます 引数なしの関数。

>>> a = 1
>>> b = "hello"
>>> import math
>>> dir()
['__builtins__', '__doc__', '__name__', 'a', 'b', 'math', 'pyscripter']

Python

  1. Python データ型
  2. Python の入力、出力、およびインポート
  3. Python 演算子
  4. Python 関数の引数
  5. Python モジュール
  6. Python 辞書
  7. Python イテレータ
  8. Python クロージャー
  9. Python 日時
  10. Python 時間モジュール
  11. Pythonスリープ()