0
テキストファイル入力から派生クラスを初期化しようとしています。Pythonはクラスメソッドを使用してクラスとベースクラスを初期化します
file.txtを::
1
2
main.py:私が何をしようとしています何の簡単な例
class Base:
def __init__(self, val1):
self.val1 = val1
def input_from_text(cls, init_deque):
#return cls(init_deque.popleft())
class Derived(Base):
def __init__(self, val1, val2):
Base.__init__(self, val1)
self.val2 = val2
def input_from_text(cls, init_deque):
#initialize base and derived here and return derived
def main(argv=None):
initialized_derived = Derived.input_from_text(deque(open("file.txt")))
assert initialized_derived.val1 is 1
assert initialized_derived.val2 is 2
はこれを行うには良い方法はありますか?基本的にはあなたが持つC++で見つけるだろうものと同様のものを探して:
//calls operator>>(Base) then operator>>(Derived)
cin >> initialized_derived;
各クラスがうまくカプセル化されている。この方法で、ベース/派生クラスは、お互いについて何(除くを知っている必要はありません知っている__init__ argsの基数が取る数)。