ウェブサイト検索

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モジュールリスト

最も重要な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

関連記事: