2022年に知っておくべきPythonモジュールトップ5

公開: 2021-01-08

Pythonは、世界中で注目を集めているプログラミング言語です。 コーディングコミュニティからデータサイエンスコミュニティまで、Pythonはすべての人の絶対的なお気に入りです。 その人気の理由は、Pythonには、開発を手間のかからないタスクにするさまざまなライブラリとモジュールがロードされているためです。

以前はPythonライブラリについて詳しく説明しましたが、今日はPythonモジュールに焦点を当てます。

目次

Pythonモジュールとは何ですか?

簡単に言うと、Pythonモジュールは、バインディングと参照の両方に使用できる任意の名前の属性で構成されるPythonオブジェクトです。 基本的に、モジュールは関数、クラス、および変数を定義できます。 モジュールは、Pythonコードを論理的に整理するのに役立ちます。 関連するコードをモジュールにグループ化することで、Pythonコードをより使いやすく理解しやすくすることができます。

Pythonでは、次の3つの方法でモジュールを定義できます。

  • Pythonでモジュールを書くことができます。
  • モジュールをCで記述し、実行時に動的にロードすることができます。
  • インタプリタに本質的に含まれている組み込みのPythonモジュールを使用できます。

モジュール検索パスとは何ですか?

検索パスは、インタプリタがモジュールをインポートする前に検索するディレクトリのリストを参照します。 たとえば、次のステートメントを実行するとします。

modをインポートする

インタプリタがこのステートメントを実行すると、次のような複数のソースからアセンブルされたディレクトリのリストでmod.pyが検索されます。

  • 入力スクリプトを実行したディレクトリまたは現在のディレクトリ(インタプリタがインタラクティブに実行されている場合)。
  • PYTHONPATH環境変数が設定されている場合は、それに含まれるディレクトリのリストを検索します。
  • Pythonのインストール中に構成されるインストール依存ディレクトリのリスト。

sysモジュールからさらに生成されたPython変数sys.pathを使用して、結果の検索パスにアクセスできます。

>>> import sys

>>> sys.path

[”、'C:\\ Users \\ john \\ Documents \\ Python \\ doc'、'C:\\ Python36 \\ Lib \\ idlelib'、

'C:\\ Python36 \\ python36.zip'、'C:\\ Python36 \\ DLLs'、'C:\\ Python36 \\ lib'、

'C:\\ Python36'、'C:\\ Python36 \\ lib \\ site-packages']

モジュールをインポートすると、次のように、モジュールの__file__属性を使用してその場所を特定できます。

>>> import mod

>>> mod .__ file__

'C:\\ Users \\ john \\ mod.py'

>>>インポート再

>>> re .__ file__

'C:\\ Python36 \\ lib \\ re.py'

ただし、__ file__のそのディレクトリ部分は、 sys.pathに含まれるディレクトリである必要があることに注意してください。

Pythonモジュールの本質を理解したので、次にいくつかの最高のPythonモジュールを見てみましょう。

トップPythonモジュール

1.「インポート」ステートメント

1つのPythonソースファイルでimportステートメントを実行することにより、任意のPythonソースファイルをモジュールとして使用できます。 importステートメントの構文は次のとおりです。

インポートmodule1[、module2 [、…moduleN]

importステートメントを実行すると、インタープリターは、提供されたモジュールが検索パスに存在する場合、それをインポートします。 たとえば、モジュールcalc.pyをインポートする場合は、次のコマンドを記述して実行する必要があります。

#モジュールcalc.pyをインポートする

計算をインポート

print add(10,2)

このコマンドが正常に実行されると、出力は次のようになります。

12

Pythonモジュールについて覚えておくべき重要なことは、モジュールを何度インポートしても、ロードされるのは1回だけであるということです。 これは、複数のインポートの場合にモジュールが繰り返し実行されるのを防ぐのに役立ちます。

2.「from…import」ステートメント

Pythonでは、「from…import」ステートメントを使用すると、モジュールから特定の属性をインポートできます。 「from…import」ステートメントの例を次に示します。

modnameインポートから*

#sqrt()と階乗をからインポートする

#モジュール数学

数学インポート平方根、階乗から

#単に「数学のインポート」を行う場合は、

#math.sqrt(16)およびmath.factorial()

#が必要です。

印刷sqrt(16)

print factorial(6)

このコードを実行すると、次のようになります。

4.0 4.0

720

このモジュールを使用すると、特定のモジュールに含まれるすべてのアイテムを現在の名前空間にインポートできます。

3.「dir()」関数

Pythonでは、dir()は組み込み関数であり、モジュールで定義されているすべてのモジュール、関数、および変数の名前を含む文字列のソートされたリストを返します。 以下に、dir()関数の例を示します。

#!/ usr / bin / python

#組み込みモジュールをランダムにインポート

ランダムにインポート

print dir(math)

実行時に、このコードは次の結果を返します。

['BPF'、'LOG4'、'NV_MAGICCONST'、'RECIP_BPF'、'ランダム'、

'SG_MAGICCONST'、'SystemRandom'、'TWOPI'、'WichmannHill'、

'_BuiltinMethodType'、'_MethodType'、'__all__'、

'__builtins__'、'__doc__'、'__file__'、'__name__'、

'__package__'、'_acos'、'_ceil'、'_cos'、'_e'、'_exp'、

'_hashlib'、'_hexlify'、'_inst'、'_log'、'_pi'、'_random'、

'_sin'、'_sqrt'、'_test'、'_test_generator'、'_urandom'、

'_warn'、'betavariate'、'choice'、'division'、

'expovariate'、'gammavariate'、'gauss'、'getrandbits'、

'getstate'、'jumpahead'、'lognormvariate'、'normalvariate'、

'paretovariate'、'randint'、'random'、'randrange'、

'sample'、'seed'、'setstate'、'shuffle'、'triangular'、

'ユニフォーム'、'vonmisesvariate'、'weibullvariate']

上記の出力では、特別な文字列変数__file__がモジュールのロード元のファイル名を指しているのに対し、 __name__はモジュールの名前になります。

4. globals()およびlocals()関数

globals()およびlocals()関数を使用して、グローバルおよびローカル名前空間のモジュール名を返すことができます。 ただし、これは名前を呼び出す場所によって異なります。 別の関数内でglobals()関数を呼び出すと、その特定の関数からグローバルにアクセスできるすべての名前が返されます。 逆に、locals()関数が関数内から呼び出されると、特定の関数からローカルにアクセスできるすべての名前が生成されます。

5. 通常、モジュールをスクリプトにインポートすると、モジュールの最上位部分にあるコードは1回だけ実行されます。 この状況で、モジュール内の最上位コードを再実行する場合は、reload()関数がgo-to関数になります。 この関数を使用すると、以前にインポートしたモジュールを再インポートできます。

reload()関数の構文は次のとおりです。

reload(module_name)

構文では、 module_nameは、リロードするモジュールの名前を参照します。これは、モジュール名を含む文字列には関係しません。 たとえば、helloモジュールをリロードする場合は、次のように記述する必要があります。

リロード(こんにちは)

結論

Pythonでは、パッケージとモジュールは相互に関連しています。 Pythonパッケージは、ドット表記を使用してモジュール名前空間の階層構造を容易にします。 Pythonパッケージはモジュール名間の衝突(重複)を防ぎますが、Pythonモジュールはグローバル変数名間の衝突を防ぎます。

データサイエンスについて知りたい場合は、IIIT-BとupGradのデータサイエンスのPGディプロマをチェックしてください。これは、働く専門家向けに作成され、10以上のケーススタディとプロジェクト、実践的なハンズオンワークショップ、業界の専門家とのメンターシップ、1- on-1業界のメンター、400時間以上の学習、トップ企業との仕事の支援。

Python Anacondaとは何ですか?なぜそれほど人気が​​あるのですか?

Anacondaは、PythonとRのパッケージマネージャーです。データサイエンス志望者にとって最も人気のあるプラットフォームの1つと見なされています。 以下は、Anacondaを競合他社よりもはるかに先んじている理由のいくつかです。 その堅牢な配布システムは、300を超えるライブラリを持つPythonのような言語の管理に役立ちます。 これは無料のオープンソースプラットフォームです。 そのオープンソースコミュニティには、初心者を絶えず支援し続ける多くの適格な開発者がいます。 さまざまなソースからデータを簡単に抽出できるさまざまなAIおよびMLベースのツールがあります。 Anacondaには1500を超えるPythonおよびRデータサイエンスパッケージがあり、モデルのテストとトレーニングの業界標準と見なされています。

画像処理で最も人気のあるPythonライブラリをいくつか挙げてください。

Pythonは、機能が豊富なライブラリを提供しているため、画像処理に最適な言語です。 以下は、画像処理を非常に便利にする上位のPythonライブラリの一部です。 OpenCVは、画像処理やオブジェクトや顔の検出などの視覚タスクに最も人気があり、広く使用されているPythonライブラリを継承しています。 もともとC++で書かれているので、非常に高速で効率的です。 Python画像処理ライブラリを介した会話は、Sci-KitImageなしでは不完全です。 これは、あらゆるコンピュータビジョンタスクに使用できるシンプルでわかりやすいライブラリです。 SciPyは主に数学的な計算に使用されますが、画像処理を実行することもできます。 顔検出、畳み込み、画像セグメンテーションは、SciPyが提供する機能の一部です。

ほとんどのデータサイエンティストが他の言語よりもPythonを好むのはなぜですか?

RやJuliaのようにデータサイエンスに使用できる言語はたくさんありますが、多くの理由からPythonが最適であると考えられています。 これらの理由のいくつかを以下に示します。PythonはScalaやRなどの他の言語よりもはるかにスケーラブルです。そのスケーラビリティは、プログラマーに提供する柔軟性にあります。 NumPy、Pandas、Scikit-learnなどの多種多様なデータサイエンスライブラリがあり、他の言語よりも優位に立っています。 Pythonプログラマーの大規模なコミュニティは、常に言語に貢献し、初心者がPythonで成長するのを支援しています。