ロゴ

プログラミング初心者がアプリ開発を目指すブログ

【Python入門】モジュール- Python初心者勉強記029

モジュールとは、プログラム内で何度も利用される、関数やクラスなどのコードのまとまりのことです。
Pythonでは、関数やクラスの定義を一つのファイルにまとめたものをモジュールとしています。
複数のモジュールをフォルダにまとめたものはパッケージとなります。

今回はモジュールをプログラム内で利用する方法について見ていきます。

単一ファイルのモジュールの利用

テストのために次のファイルを用意します。

[testmodule.py]


# testmodule.py
TEST_VARIABLE = 3.14 #クラス変数
def test_func():
        print('test_func')
class test_class():
        pass

基本のインポート文

モジュール内で定義された属性は、import文を用いて他のコードから参照することができます。
ファイルがカレントディレクトリにある場合は

import module名

でimportすることができます。
ファイルが別のディレクトリにある場合はパスを通す必要があります。(やり方は後述)


>>> import testmodule
>>> testmodule.TEST_VARIABLE
3.14

便利なインポート

次のようにすると、指定したモジュール属性をローカルな名前空間で使用することができます。


>>> from testmodule import TEST_VARIABLE, test_func
>>> TEST_VARIABLE
3.14

モジュール属性全てをインポートしたい場合は以下のようにします。


>>> from testmodule import *
>>> TEST_VARIABLE
3.14

別名で使用したい場合は以下のようにします。


>>> import testmodule as test
>>> test.TEST_VARIABLE
3.14

パッケージの利用

フォルダ内の複数のPythonファイルを参照したい場合は、そのフォルダに__init__.pyを置きます。
こうすることで、そのフォルダはパッケージとなります。

例えば、以下のようなファイル構造を考えます。
parentpackage
|
— __init__.py
— parentmodule.py
— childpackage
|
— __init__.py
— childmodule.py

ここでparentpackage直下のファイルを参照する場合は、
from parentpackage import parentmodule

更に、childpackage内のファイルを参照する場合は、
from parentpackage.childpackage import childmodule

で参照することができます。

モジュールのパスを通す

モジュールをimportする際には、モジュールが入っているフォルダにパスが通っている必要があります。
sys.pathに検索パスを追加することでパスを通すことができます。


>>> import sys
>>> sys.path.append(os.path.abspath('temp'))
>>> import testmodule1

スクリプトとしてその場で実行する

Pythonファイルはモジュールとしてimportする以外にも、スクリプトとしてその場で実行する場合もあります。

スクリプトとしてその場で実行したい場合は、
ファイルの最下部で
「if __name__ == __main__:」として、スクリプトコードを書きます。

[testscript.py]


#testscript.py
def main():
        print('hello')

if __name__ == '__main__':
        main()


$ python testscript.py
hello

Python入門講座の次の記事はこちら => 【Python入門】正規表現- Python初心者勉強記030

スポンサード リンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA