この記事では、モジュールとは何かについての内容をお届けします。 Python のモジュール紹介はある程度の参考になるので、困っている方は参考にしていただければ幸いです。
Python では、.py ファイルはモジュールと呼ばれます。
それでは、モジュールを使用する利点は何でしょうか?
(1) コードの保守性が向上します。
(2) コードを最初から作成する必要はなく、モジュールを作成した後、他の場所に適用することができます。
(3) 関数名と変数名の競合を回避できます 同じ関数名と変数を異なるモジュールに格納できますが、組み込み関数名と競合しないように注意してください。モジュール名の競合を避けるために、Python ではディレクトリごとにモジュールの競合を防ぐ方法が導入されています。パッケージ (Python パッケージ) と呼ばれます。
ファイル abc.py は abc という名前のモジュールであり、ファイル xyz.py は xyz という名前のモジュールです。モジュール名 abc および xyz が他のモジュールと競合する場合、モジュールの競合を避けるために、別のパッケージを通じてモジュールを整理できます。
は次のとおりです:
↓ mycompany # 按目录存放 _init_.py # 模块名:mycompany abc.py # 模块名:mycompany.abc xyz.py # 模块名:mycompany.xyz
パッケージが導入された後は、トップレベルのパッケージ名が他のモジュールと競合しない限り、すべてのモジュールが他のモジュールと競合することはありません。
各パッケージ ディレクトリには _init_.py ファイルが存在します。このファイルは存在する必要があります。存在しないと、Python はこのディレクトリをパッケージではなく通常のディレクトリとして扱います。
_init_.py 自体はモジュールであるため、
Python には非常に便利な組み込みモジュールが多数あり、インストールされていれば、これらのモジュールをインポートしてすぐに使用できます。輸入。
# !/usr/bin/env python # -1- # -*-coding:utf-8 -*- # -2- _author_ = 'xionglp' # 使用_author_变量把作者写进去 import sys def test(): args = sys.argv if len(args) == 1: print ('hello,world!') elif len(args) ==2: print('hello,%s !'% args[1]) else: print('too many arguments!') if __name__ == '__main__': test()説明: コメント# -1-: .py ファイルを unix/linux/mac で直接実行します コメント# -2-: .py ファイルを使用します標準 UTF-8 エンコーディング
import sys: sys モジュールをインポートします。その後、sys 変数を使用して、sys モジュールのすべての関数にアクセスできます。
>>> import hello >>> hello.test() hello, world!3. Python 独自のモジュールに加えて、サードパーティ モジュールをインストールして使用します。パッケージを使用して、サードパーティのモジュールをインストールすることもできます。サードパーティのパッケージのインストールは、パッケージ管理ツール pip を通じて完了します。
ステップ 1: Python をインストールするパスで easy_install.exe を見つけます (例: D:PythonScripts
ステップ 2: cmd を開き、インストール コマンドを入力します: easy_install.exe pip (pip のインストールは成功します)
ステップ 3: cmd で pip を実行し、コマンドを入力します: pip installpillow
次のように:
インストールが成功すると、Pillow を使用できるようになります。その他の一般的に使用されるサードパーティ ライブラリには、MySQL ドライバー、科学技術コンピューティング用の NumPy ライブラリなどがあります。
pip のアップグレード:
pip を使用してインストールする場合、pip のバージョンが低すぎるためアップグレードする必要があるというメッセージが表示されることがあります。プロンプトに実行するステートメントが表示されるので、プロンプトに従ってください。
デフォルトでは、Python インタープリターは現在のディレクトリ、インストールされているすべての組み込みモジュールおよびサードパーティ モジュールを検索します。検索パスは sys モジュールのパス変数に保存されます:
>>>import sys >>>sys.path
自分自身を追加したい場合 ディレクトリを検索するには 2 つの方法があります:
方法 1: sys.path を直接変更し、検索するディレクトリを追加します。この方法は実行時に変更され、実行後に無効になります。実行が完了しました。
>>> import sys >>> sys.path.append('/Users/xionglp/my_py_scripts')
法二:设置环境变量PYTHONPATH,该环境变量的内容会被自动添加到模块搜索路径中。设置方式与设置Path环境变量类似。注意只需要添加你自己的搜索路径,Python自己本身的搜索路径不受影响。
【补充点能量】if __name__ =="__main__":
__name__:为系统变量,有两个取值。当模块是被调用执行时,取值为模块的名字;当模块是直接执行时,则该变量取值为__name__。
if __name__ == "__main__"实现的功能:可以让模块既可以导入到别的模块中用,也可以自己执行。
英文解释说:make a script both importable and executeable例如:新建模块atest.py
# !/usr/bin/env python3 # -*- coding:utf-8 -*- 'a test module' def addFunc(a, b): return a + b print('a_test_module\'s result is ', addFunc(1, 1))
新建模块anothertest.py
# !/usr/bin/env python3 # -*- coding :utf-8 -*- 'another test module' import atest print('调用another test module模块执行的结果时:',atest.addFunc(12,23))
运行:
D:\Python_project>python atest.py a_test_module's result is 2 D:\Python_project>python anothertest.py a_test_module's result is 2 调用another test module模块执行的结果时: 35
说明:当运行anothertest.py的时候,先运行了atest.py,再运行anothertest.py。
若不希望出现atest的内容,python提供了一个系统变量:__name__。可以把被调用的测试代码写在if语句里,当调用该module时,此时的__name__取值为该模块的名字,所以if判断为假,不执行后续代码如下:
if __name__ == '__main__':` print ('atest的计算结果:',addFunc(1,1))
则运行结果为:
D:\Python_project>python anothertest.py 调用another test module模块执行的结果时: 35
此时我们就得到了预期结果,不输出多余的结果。
以上がモジュールとは何ですか? Python のモジュールの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。