pythonモジュールを表示する方法

C#の.csファイル、.java、またはJavaのコンパイル済み.classファイルなど、コンパイルされた言語の場合、モジュールと見なすことができます(ただし、モジュールとして表現されないことがよくあります)。解釈された言語の方が直感的です。 Pythonの.pyファイルであるPHPの.phpファイルなど、一部はモジュールと見なすことができます。主にモジュールの編成と管理の便宜のために、「モジュール」の上に「パッケージ」があります。たとえば、C#でコンパイルされた.dllファイル(ただし、パッケージとして表現されないことが多いが、ライブラリライブラリ)、. classの後の.jarファイルはJavaでパッケージ化され、PHPの.pharファイル(Javaパッケージを模倣)、Pythonで1つ特別に定義されたフォルダはパッケージであり、eggファイルとしてパッケージ化できます。ただし、解釈される言語「パッケージ」は、低レベルの言語にコンパイルされてからパッケージ化されることを意味するものではありませんが、モジュール間の依存関係をモジュール化して管理する方が便利です。すべてのプログラミング言語には、モジュールとパッケージの管理に関する特定の規則があります。これらの規則を理解していないと、この言語の学習に障害が発生します。ここで、これらのPythonの規則を整理したいと思います。

1つは、Pythonがモジュールのパスを見つけることです

Pythonアプリケーションを実行したり、Pythonモジュールを参照したりするには、Pythonインタープリターに検索プロセスが必要です。環境変数PYTHONPATHを設定して、関連するPythonモジュールの検索を容易にすることでPythonの検索パスを追加できます(異なるオペレーティングシステムの環境変数の設定はわずかに異なり、デフォルトは以下のWindows環境です)。これは多くのアプリケーションとは異なります。システム環境変数の原理は同じです。コマンドラインの次のコマンドで設定できます。

C:\Users\Administrator set PYTHONPATH=E:/Project/Python/ModuleAndPackage/

Python環境に入った後、Pythonのsys.path属性を介して現在の検索パスの構成を取得でき、前に設定したパスがすでに現在の検索パスにあることがわかります。

C:\Users\Administrator python
Python 2.7.11(v2.7.11:6d1b6a68f775, Dec 52015,20:32:19)[MSC v.150032bit(Intel)] on win32
Type "help","copyright","credits" or "license"for more information.import sys
 sys.path
['',' E:\Project\Python\ModuleAndPackage','C:\Windows\system32\python27.zip','C:\Python\DLLs','C:\Python\
lib','C:\Python\lib\plat-win','C:\Python\lib\lib-tk','C:\Python','C:\Python\lib\site-packages']

sysモジュールのappendメソッドを使用して、Python環境で検索パスを増やすこともできます。

 sys.path.append("E:\Project\Python\ModuleAndPackage2")
 sys.path
['',' E:\Project\Python\ModuleAndPackage','C:\Windows\system32\python27.zip','C:\Python\DLLs','C:\Python\
lib','C:\Python\lib\plat-win','C:\Python\lib\lib-tk','C:\Python','C:\Python\lib\site-packages','E:\
Project\Python\ModuleAndPackage2']

2つ、Pythonのモジュールとパッケージ

前述のように、各.pyファイルはPythonモジュールと見なすことができます。.pyファイルには、クラス、メソッド、変数、および定数を含めることができます(Pythonには厳密な意味での定数はありませんが、大文字の変数が定数として使用されることに同意するだけです)。他の解釈された言語と同様に、すべての論理ステートメントをファイルに直接記述し、ロード時に上から下に直接実行することもできます。たとえば、ModuleAndPackageフォルダーにテキストファイルperson.pyを作成して、次の内容の単純なPythonモジュールを作成することを選択します。

# - *- coding: utf-8-*-
ID =1
name ="This person"
print name
def say(something):
 print name,'says', something

次に、Python環境でperson.pyを実行できます。 cmdコマンドラインに入力することにより、person.pyをバッチファイルのように直接実行できます。

Python E:/Project/Python/ModuleAndPackage/person.py

基本的に、Pythonアプリケーションのエントリモジュールはこの方法で実行されますが(C#やJavaのメイン関数のように)、モジュールを参照するには、モジュールを実行するためのコンテキストを確立する必要があります。最初に環境変数PYTHONPATHを設定して、Pythonインタープリターがperson.pyモジュールを見つけられるようにし、次にpersonモジュールをインポートしてメソッドまたは変数にアクセスします。

C:\Users\Administrator python
Python 2.7.11(v2.7.11:6d1b6a68f775, Dec 52015,20:32:19)[MSC v.150032bit(
Intel)] on win32
Type "help","copyright","credits" or "license"for more information.import person
This person
 person.say("hello")
This person says hello
 print person.name
This person

Pythonは、Pythonモジュールを見つけるために特定の固定パスに移動する必要があります。上記では、ModuleAndPackageで検索するように設定しています。しかし、これらのパスにはディレクトリ階層もあります。Pythonはどのようにしてサブディレクトリ内のモジュールを見つけますか?特にサードパーティのパッケージを参照する場合は、ある程度の関係も知る必要があります。実際、Pythonはディレクトリとファイルを介してパッケージ構造を構築し、パッケージはレイヤーごとにネストされます。これは、ディレクトリのレイヤーごとのネストと同じです。これは、パッケージ内のアクセスパス(または名前名、またはPythonアプリケーション)を構成します。名前名はそのディレクトリとファイル構造に対応しており、柔軟性に欠けているようですが、より単純です)。たとえば、ModuleAndPackageフォルダーの下にanimalフォルダーを作成し、その中に次の内容のテキストファイルpet.pyを作成します。

# - *- coding: utf-8-*-
ID =2
name ="This pet"
print name
def run(somewhere):
 print name,'runs', somewhere

では、pet.pyモジュールを参照する方法は? Pythonの規則に従って、動物フォルダーがパッケージであることを識別するために、init。pyという名前の空のテキストファイルを動物フォルダーに作成する必要があります。動物フォルダにパッケージとしてフォルダがある場合は、init。pyファイルも含める必要があります。このようにして、アクセスパスはレイヤーごとに識別されます。

import animal.pet
This pet
 print animal.pet.name
This pet
 animal.pet.run("everywhere")
This pet runs everywhere

または、fromキーワードを使用して、モジュール内の属性またはメソッドを直接インポートします。

from animal.pet import name,run
 print name
This pet
 run("everywhere")
This pet runs everywhere

ナレッジポイントの拡張:

**モジュールを使用する利点は何ですか? ****

モジュールを作成すると、他の場所で参照できます。プログラムを作成するときは、組み込みのPythonモジュールやサードパーティのモジュールなど、他のモジュールを参照することがよくあります。

モジュールは、関数名と変数名の間の競合を回避することもできます。同じ名前の関数と変数は、異なるモジュールに格納できます。ただし、組み込みの関数名と競合しないように注意してください。

異なる人が書いたモジュール名が同じ場合はどうなりますか?モジュール名の競合を回避するために、Pythonは、パッケージと呼ばれる、ディレクトリごとにモジュールを編成する方法を導入しました。

これまでのところ、pythonモジュールの表示方法に関するこの記事が紹介されています。より関連性の高いpythonモジュールについては、ZaLou.Cnで以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後、ZaLou.Cnをさらにサポートしていただければ幸いです。

Recommended Posts

pythonモジュールを表示する方法
Pythonタイムモジュールを学ぶ方法
ダウンロードしたモジュールをpythonでインストールする方法
pythonウェブページコードの表示方法
pythonプログラムを保存する方法
pythonでエラーを表示する方法
Pythonはjsonモジュールをどのように処理しますか
インストールされているモジュールをpythonで表示する方法
pythonでround関数を使用する方法
Pythonでzip関数を使用する方法
Pythonはemailモジュールを使用してメールを送信します
pythonでformat関数を使用する方法
pythonを使用してhostsファイルを切り替える方法
Pythonコードをまとめて正しく移動する方法
pythonコードにコメントする方法
pythonをすばやく学ぶ方法
pythonプラグインをアンインストールする方法
pythonオブジェクトを理解する方法
パイソンタプルの使い方
pythonファイルが書かれた後に練習する方法
Pythonでのパッケージの導入を理解する方法
pythonはモジュールのインストールが完了したとどのように判断しますか
Pythonはreモジュールを使用して危険な文字を検証します
pythonスレッドプールの使用方法
Pythonがメール機能を実装する方法
pythonはどのように環境を変えますか
Python3モジュール
python設定ファイルの書き方
pythonで円の領域を見つける方法
pythonコードでラップする方法
Pythonで括弧を省略する方法
CentOS8にPython3.8をインストールする方法
Ubuntu18.04にPython3.8をインストールする方法
pythonでクラスを書く方法
pythonで数値をフィルタリングする方法
PythonでExcelを読む方法
CentOS8にPythonをインストールする方法
python dict garbledを解決する方法
pythonでreturnを書く方法
Pythonがタイマー機能を実装する方法
Pythonで変数を理解する方法
pythonで変数をクリアする方法
pythonオブジェクト指向プログラミングを理解する方法
PythonでSQLiteを使用する方法
pythonのインストールが成功したことを確認する方法
およびおよびまたはPythonでの使用方法
python Doubanは、pipを置き換えてpythonモジュールをインストールします
pythonでキャッシュファイルを削除する方法
Pythonでサードパーティモジュールを導入する方法
pythonはどのように計算速度を向上させますか
pythonでnull値を表す方法
pythonでテキストファイルを保存する方法
パスワードの強度を判断するためのPython文字列
PYTHONを使用してニュース記事をクロールする方法
pythonでwinプログラムを書く方法
pythonでid関数を実行する方法
Pythonでサードパーティモジュールをインストールする方法
pythonでエラーをカスタムキャッチする方法
pythonでtryステートメントを書く方法
Pythonでプライベート属性を定義する方法
Pythonでカスタムモジュールを追加する方法