Pythonモジュール

Pythonモジュールは、変数、関数、およびクラスを含むPythonスクリプトファイルです。Pythonモジュールは、コードを整理し、他のクラスやPythonスクリプトで参照するのに役立ちます。

Pythonモジュール

A file containing Python definitions and statements is called a python module. So naturally, the file name is the module name which is appended with the suffix .py. For better understanding let’s create a python module to explore it completely. First create a file named printNumbers.py with the following contents.

def printForward(n):

    #1からnまでを表示する
    for i in range(n):
        print(i+1)


def printBackwards(n):

    #nから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には多くの組み込みモジュールがあります。重要なものの一部は、collectionsdatetimeloggingmathnumpyospipsys、およびtimeです。Pythonシェルでhelp('modules')コマンドを実行すると、利用可能なモジュールのリストが取得できます。

Pythonにおけるモジュールとパッケージの違いは何ですか?

PythonパッケージはPythonモジュールのコレクションです。Pythonモジュールは単一のPythonファイルであり、Pythonパッケージは複数のPythonスクリプトとパッケージの詳細を定義する__init__.pyファイルを持つディレクトリです。

Pythonモジュールリストはどこで見つけられますか?

Pythonモジュールのリストは、Pythonモジュールインデックスの公式ページから見つけることができます。ただし、利用可能なPythonモジュールのリストを探している場合は、Pythonシェルでhelp('modules')コマンドを実行して利用可能なモジュールのリストを取得できます。

Python Modules List

これらの特定のチュートリアルやサンプルプログラムを通じて、最も重要な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 Modules List

Pythonのモジュールは数千あり、毎日新しいものが開発されています。私たちは多くの人気のあるPythonモジュールについてチュートリアルを書いています。これらのモジュールを学ぶために、以下のテーブルからリンクをたどってください。

参考文献:

Source:
https://www.digitalocean.com/community/tutorials/python-modules