Python3で、他階層にあるクラスを継承する方法

この記事のタグ
python3
オブジェクト指向

以下のようなファイル構造で、sample.pyからCore.pyを継承したChildren.pyに定義されているhelloメソッドを呼び出したい。

image

sample.py

# -*- coding: utf-8 -*-

from business.Children import Children

c = Children()

c.hello()

Core.py

# -*- coding: utf-8 -*-


class Core:
    def __init__(self):
        print('hello core')

Children.py

# -*- coding: utf-8 -*-

from business import Core


class Children(Core.Core):
    def __init__(self):
        pass

    def hello(self):
        print('children hello')

キモ

sample.pyの、 from business.Children import Children の部分。

from フォルダ名.ファイル名 import クラス名 としなければいけない

親クラスのコンストラクタを実行するには

def __init__(self):
        # 親クラスのコンストラクタの実行
        super().__init__()

小クラスで、こんな感じにする

2018-01-10 19:06:50