strを継承するには__init__
ではなく__new__
を使う必要があります。
log.py
class Log(str):
def __new__(cls, id_: str, val: str):
self = super().__new__(cls, val)
self.id: str = id_
return self
log1 = Log("id1", "test")
print(log1, log1.id)
test id1