プロジェクトにインポートする python-packages /MyLibPackage を作成します。
MyLibPackage.____init____.py
mymodication.py が含まれています。さらに、MyLibPackage フォルダーには別のファイルが含まれています:base_classes.py(=外部プロジェクト)
mymodiciation.py は " from base_classes import *
" をインポートします。
目標: base_classes (= 外部プロジェクト) のすべてのクラスを含む MyLibPackage をインポートできます。また、いくつかのクラスまたは関数を変更する必要がある場合は、これを mymodiciation.py に上書きできます。動作しますが、問題が発生しました。例えば:
mymodiciation.py でこのクラスを上書きします。
class Bookcollection(Bookcollection):
new_member = "lalala"
class user(user):
def get_books(self):
return Bookcollection()
私が行った場合:
from MyLibPackage import *
x = user()
books = x.get_books()
この場合、オブジェクト Bookcollection にはプロパティ「new_member」があります。良い!しかし、私がこれを行う場合:
from MyLibPackage import *
x = shelf() #this class is not overwritten and used also the object "Bookcolelction"
books = x.get_books()
オブジェクト Bookcollection にはプロパティ「new_member」がありません
どのように言えばよいでしょうか: mymodiciation でクラスを上書きすると、呼び出しが MyLibPackage.base_classes.shelf (get_books) から来た場合でも、MyLibPackage はこれを使用する必要があります。