On Sun, Oct 12, 2014 at 6:55 AM, roro codeath <rorocode...@gmail.com> wrote: > How to implement it in my class? > > class Str(str): > def __init__(self, *args, **kwargs): > pass > > Str('smth', kwarg='a')
The error is coming from the __new__ method. Because str is an immutable type, you should override the __new__ method, not __init__. Example: class Str(str): def __new__(cls, *args, **kwargs): return super().__new__(cls, args[0]) >>> Str('smth', kwarg='a') 'smth' -- https://mail.python.org/mailman/listinfo/python-list