LoginSignup
2

More than 3 years have passed since last update.

posted at

Pythonで文字列クラスを継承する方法

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2