Pythonモジュール
Pythonモジュールは、本質的に変数、関数、およびクラスを含むことができるPythonスクリプトファイルです。Pythonモジュールは、私たちのコードを整理し、他のクラスやPythonスクリプトでそれらを参照するのに役立ちます。
Pythonモジュール
Pythonの定義とステートメントを含むファイルは、Pythonモジュールと呼ばれます。したがって、ファイル名はモジュール名であり、接尾辞.pyが付加されます。より良い理解のために、完全に探求するためのPythonモジュールを作成しましょう。まず、以下の内容でprintNumbers.pyという名前のファイルを作成します。
def printForward(n):
#print 1 to n
for i in range(n):
print(i+1)
def printBackwards(n):
#print n to 1
for i in range(n):
print(n-i)
今、Pythonインタープリタで次のコマンドを使ってこのモジュールをインポートします;
import printNumbers
このインポートコマンドは、現在のディレクトリとPATH変数の場所でprintNumbers.pyファイルを探します。ファイルが見つかると、その中のコードを使用できるようになります。モジュールの関数にアクセスするには、以下のようにモジュール名を使用する必要があります:
時々、モジュールが大きい場合、関数呼び出しを簡単にするために、以下のようにインポートをリネームすることがあります:
Pythonモジュールの特定の関数をインポートする
時には、Pythonモジュールのすべての関数をインポートする必要はありません。1つまたは2つの関数だけが必要な場合があります。その場合、次の形式のインポート文を使用できます。
ここで注目すべきことは、printForwardをインポートすると、それが現在のシンボルテーブルに含まれることです。したがって、関数をprintNumbers.printForward()のように呼び出す必要はありません。他のバリエーションも時には役立ちます。ここでは、以前と同様に関数の使用を楽にするために名前を変更しました。
Pythonモジュールに関するFAQ
Pythonモジュールに関するよくある質問を見てみましょう。
Pythonの組み込みモジュールは何ですか?
Pythonには多くの組み込みモジュールがあります。重要なもののいくつかは、collections、datetime、logging、math、numpy、os、pip、sys、timeです。Pythonシェルでhelp('modules')コマンドを実行すると、使用可能なモジュールのリストを取得できます。
Pythonにおけるモジュールとパッケージの違いは何ですか?
Pythonパッケージは、Pythonモジュールのコレクションです。Pythonモジュールは単一のPythonファイルであり、Pythonパッケージは複数のPythonスクリプトとパッケージの詳細を定義する__init__.pyファイルを含むディレクトリです。
Python モジュール一覧はどこで見つけることができますか?
Pythonモジュールのリストは、Pythonモジュールインデックスの公式ページから見つけることができます。ただし、あなたが利用できるPythonモジュールを探している場合は、Pythonシェルでhelp('modules')コマンドを実行することで、利用可能なモジュールのリストを取得できます。
最も重要なPythonモジュールのリストについては、このGitHubリポジトリを確認してください。特定のチュートリアルやサンプルプログラムを通じて学んでください。
異なるディレクトリからモジュールをインポートするにはどうすればいいですか?
Pythonモジュールをインポートしようとすると、現在のディレクトリとPATH変数の位置が検索されます。したがって、Pythonファイルがこれらの場所に存在しない場合、ModuleNotFoundErrorが発生します。解決策は、sysモジュールをインポートし、必要なディレクトリをそのパス変数に追加することです。以下のコードは、別のディレクトリからインポートしようとしたときのエラーと、そのディレクトリをパス変数に追加して修正している方法を示しています。
python3.7
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 26 2018, 23:26:24)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import test123
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'test123'
>>> import sys
>>> sys.path.append('/Users/pankaj/temp')
>>> import test123
>>> test123.x
10
>>> test123.foo()
foo
>>>
Pythonモジュールリスト
何千ものPythonモジュールがあり、毎日新しいものが開発されています。私たちは多くの人気のあるPythonモジュールのためにチュートリアルを書いてきました。以下の表からリンクをたどって、これらのモジュールを学んでください。
| Pythonモジュール |
|---|
| Pythonのosモジュール |
| Python sysモジュール |
| Pythonの時間 |
| Python MySQL |
| Python CSV |
| Pythonのマルチプロセッシング |
| Python ピクル |
| Python の時間スリープ |
| Pythonキュー |
| Pythonのユニットテスト |
| Pythonソケット |
| PythonシンプルHTTPサーバー |
| Pythonのjson |
| Python シグナル |
| Python ランダム |
| Python システムコマンド |
| Python デーモン スレッド |
| Python コピー |
| Python のスレッディング モジュール |
| Python構造体 |
| Pythonのロギング |
| Python サブプロセス |
| Python argparse |
| Python functools |
| Python の itertools |
| Python getopt |
| Python FTP |
| Python tarfile |
| Python lxml |
| Python コンフィグパーサー |
| Python 日時 |
| Python の decimal モジュール |
| Python コレクション |
| Python zipfile |
| Python pdb |
| Python io |
| Pythonの分数 |
| Python AST |
| Python HTTP |
| Python xmltodict |
| Pythonのgzip |
| Python HTML パーサー |
| Python インスペクト モジュール |
| Pythonでメールを送信 |
| Python 一時ファイル |
| Python SQLite |
| Python shutil |
| Python の timeit |
| Pythonのgetpassモジュール |
| Python urllib |
| Python pytz |
| Python ペンダルム |
| Pythonのarrowモジュール |
参考文献:
- https://docs.python.org/3/tutorial/modules.html
- https://docs.python.org/3/py-modindex.html






