import argparse


class Base(object):
    def __init__(self, **kwargs):
        self.hello: float = kwargs["hello"]
        print(type(self), self.__dict__)


class Ext(Base):
    def __init__(self, **kwargs):
        super(Ext, self).__init__(**kwargs)
        self.world: int = kwargs["world"]
        self.peace: str = kwargs["peace"]
        print(type(self), self.__dict__)
        print(kwargs)


if __name__ == "__main__":
    ap = argparse.ArgumentParser()
    ap.add_argument("--hello", type=float, default=0.31)
    ap.add_argument("--world", type=int, default=42)
    #ap.add_argument("--peace", default="kungflu")
    av = ap.parse_args()
    print(type(av), av)
    ext = Ext(peace="kungflu", **(av.__dict__))
