自作モジュール作成 1 別ファイルの取り込み

zc.buildoutの使う上で、モジュールに関する基本的な事柄やよくわからないので、試行錯誤した結果をまとめてみる。

まずは、単一ファイル(モジュール)の読み込みから。

適当なディレクトリ(srcなど)を作成し、その中に他のスクリプトで使いたいスクリプトファイルを作る。

rectangle.py

# 長方形を表すクラス
class Rectangle:
    def __init__(self, width, height):
        self._width = width
        self._height = height

    def area(self):
        return self._width * self._height

square.pyを利用するファイル(main.py)を作る。

main.py

from rectangle import Rectangle

r = Rectangle(5, 4)
print('面積:' + str(r.area()))

このときのディレクトリ構成は以下の通り。
src/
├── main.py
├── square.py
└── tmp.txt

実行結果。

$ python main.py
面積:20

次に、もう1個、インポートするスクリプトファイルを作ってみる。

square.py

# 正方形を表すクラス
# Rectangleクラスの派生クラスとして作成する

from rectangle import Rectangle

class Square(Rectangle):
    def __init__(self, edge):
        super().__init__(edge, edge)


if __name__ == '__main__':
    s = Square(10)
    print('面積:' + str(s.area()))

main.pyも修正します。

from rectangle import Rectangle
from square import Square

r = Rectangle(5, 4)
print('面積:' + str(r.area()))

s = Square(10)
print('面積:' + str(s.area()))

この時点でのディレクトリ構成は以下の通り。
src/
├── main.py
├── rectangle.py
└── square.py

実行結果。

$ python main.py
面積:20
面積:100

自作モジュール作成 2 複数モジュールをパッケージにまとめる »

Pythonプログラミング物語 © 2016 Frontier Theme